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 |