Funzione FilterSendMessage (fltuser.h)

La funzione FilterSendMessage invia un messaggio a un minifilter in modalità kernel.

Sintassi

HRESULT FilterSendMessage(
  [in]           HANDLE  hPort,
  [in, optional] LPVOID  lpInBuffer,
  [in]           DWORD   dwInBufferSize,
  [out]          LPVOID  lpOutBuffer,
  [in]           DWORD   dwOutBufferSize,
  [out]          LPDWORD lpBytesReturned
);

Parametri

[in] hPort

Handle di porta di comunicazione restituito da una chiamata precedente a FilterConnectCommunicationPort. Questo parametro è obbligatorio e non può essere NULL.

[in, optional] lpInBuffer

Puntatore a un buffer allocato dal chiamante contenente il messaggio da inviare al minifilter. Il formato del messaggio è definito dal chiamante. Questo parametro è obbligatorio e non può essere NULL.

[in] dwInBufferSize

Dimensioni, in byte, del buffer a cui punta lpInBuffer.

[out] lpOutBuffer

Puntatore a un buffer allocato dal chiamante che riceve la risposta (se presente) dal minifilter.

[in] dwOutBufferSize

Dimensioni, in byte, del buffer a cui punta lpOutBuffer. Questo valore viene ignorato se lpOutBuffer è NULL.

[out] lpBytesReturned

Puntatore a una variabile allocata dal chiamante che riceve il numero di byte restituiti nel buffer a cui punta lpOutBuffer se la chiamata a FilterSendMessage ha esito positivo. Questo parametro è obbligatorio e non può essere NULL.

Valore restituito

FilterSendMessage restituisce S_OK in caso di esito positivo. In caso contrario, restituisce un valore di errore.

Commenti

La funzione FilterSendMessage invia un messaggio a un minifilter. Il messaggio viene passato alla routine di callback di notifica dei messaggi del minifilter, che elabora il messaggio. Il minifilter registra la routine di notifica di callback dei messaggi passandola come parametro MessageNotifyCallback a FltCreateCommunicationPort.

FilterSendMessage è sincrono. Il chiamante viene inserito in uno stato di attesa fino a quando non viene recapitato il messaggio e viene ricevuta la risposta del minifilter (se presente).

Se il chiamante prevede una risposta, deve passare un buffer non NULL per il parametro lpOutBuffer e un valore positivo per il parametro dwOutBufferSize .

Per ottenere un messaggio da un minifiltro, chiamare FilterGetMessage.

Per rispondere a un messaggio da un minifilter, chiamare FilterReplyMessage.

Un minifilter invia un messaggio a un'applicazione in modalità utente chiamando FltSendMessage.

Requisiti

   
Piattaforma di destinazione Universale
Intestazione fltuser.h (include Fltuser.h)
Libreria FltLib.lib
DLL FltLib.dll

Vedi anche

FilterConnectCommunicationPort

FilterGetMessage

FilterReplyMessage

FltCreateCommunicationPort

FltSendMessage