FilterGetMessage, fonction (fltuser.h)
La fonction FilterGetMessage obtient un message à partir d’un minifiltre en mode noyau.
Syntaxe
HRESULT FilterGetMessage(
[in] HANDLE hPort,
[out] PFILTER_MESSAGE_HEADER lpMessageBuffer,
[in] DWORD dwMessageBufferSize,
[in, out] LPOVERLAPPED lpOverlapped
);
Paramètres
[in] hPort
Handle de port de communication retourné par un appel précédent à FilterConnectCommunicationPort. Ce paramètre est obligatoire et ne peut pas être NULL.
[out] lpMessageBuffer
Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit le message du minifiltre. Le message doit contenir une structure FILTER_MESSAGE_HEADER , mais sinon son format est défini par l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.
[in] dwMessageBufferSize
Taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre lpMessageBuffer .
[in, out] lpOverlapped
Pointeur vers une structure CHEVAUCHÉE. Ce paramètre est facultatif et peut être NULL. S’il n’est pas NULL, l’appelant doit initialiser le membre hEvent de la structure OVERLAPPED sur un handle d’événement valide ou NULL.
Valeur retournée
FilterGetMessage retourne S_OK en cas de réussite. Sinon, elle retourne une valeur d’erreur.
Notes
La fonction FilterGetMessage est conçue pour les opérations synchrones et asynchrones (superposées).
Lorsque lpOverlapped a la valeur NULL et qu’un message est disponible, FilterGetMessage retourne immédiatement. Sinon, l’appelant est placé dans un état d’attente jusqu’à ce qu’un message soit reçu.
Si lpOverlapped n’a pas la valeur NULL, FilterGetMessage retourne ERROR_IO_PENDING. Dans ce cas, l’objet d’événement dans la structure lpOverlapped est défini sur l’état non signé avant le retour de FilterGetMessage . Lorsque le message est remis, cet événement est défini sur l’état signalé.
Après avoir reçu le message du minifiltre, l’appelant peut envoyer une réponse en appelant FilterReplyMessage.
Un minifiltre ou instance envoie un message à une application en mode utilisateur en appelant FltSendMessage.
Spécifications
Plateforme cible | Universal |
En-tête | fltuser.h (inclure Fltuser.h) |
Bibliothèque | FltLib.lib |
DLL | FltLib.dll |