Fonction FilterSendMessage (fltuser.h)
La fonction FilterSendMessage envoie un message à un minifiltre en mode noyau.
Syntaxe
HRESULT FilterSendMessage(
[in] HANDLE hPort,
[in, optional] LPVOID lpInBuffer,
[in] DWORD dwInBufferSize,
[out] LPVOID lpOutBuffer,
[in] DWORD dwOutBufferSize,
[out] LPDWORD lpBytesReturned
);
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 avoir la valeur NULL.
[in, optional] lpInBuffer
Pointeur vers une mémoire tampon allouée par l’appelant contenant le message à envoyer au minifiltre. Le format de message est défini par l’appelant. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
[in] dwInBufferSize
Taille, en octets, de la mémoire tampon pointée vers lpInBuffer.
[out] lpOutBuffer
Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit la réponse (le cas échéant) du minifiltre.
[in] dwOutBufferSize
Taille, en octets, de la mémoire tampon pointée vers lpOutBuffer. Cette valeur est ignorée si lpOutBuffer a la valeur NULL.
[out] lpBytesReturned
Pointeur vers une variable allouée par l’appelant qui reçoit le nombre d’octets retournés dans la mémoire tampon vers laquelle lpOutBuffer pointe si l’appel à FilterSendMessage réussit. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
Valeur retournée
FilterSendMessage retourne S_OK en cas de réussite. Sinon, il retourne une valeur d’erreur.
Notes
La fonction FilterSendMessage envoie un message à un minifiltre. Le message est passé à la routine de rappel de notification de message du minifiltre, qui traite le message. (Le minifiltre inscrit sa routine de notification de rappel de message en la transmettant en tant que paramètre MessageNotifyCallback à FltCreateCommunicationPort.)
FilterSendMessage est synchrone. L’appelant est placé dans un état d’attente jusqu’à ce que le message soit remis et que la réponse du minifiltre (le cas échéant) soit reçue.
Si l’appelant attend une réponse, il doit passer une mémoire tampon non NULL pour le paramètre lpOutBuffer et une valeur positive pour le paramètre dwOutBufferSize .
Pour obtenir un message à partir d’un minifiltre, appelez FilterGetMessage.
Pour répondre à un message à partir d’un minifiltre, appelez FilterReplyMessage.
Un minifiltre 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 |