Partager via


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

Voir aussi

FilterConnectCommunicationPort

FilterGetMessage

FilterReplyMessage

FltCreateCommunicationPort

FltSendMessage