Función FilterSendMessage (fltuser.h)
La función FilterSendMessage envía un mensaje a un minifiltro en modo kernel.
Sintaxis
HRESULT FilterSendMessage(
[in] HANDLE hPort,
[in, optional] LPVOID lpInBuffer,
[in] DWORD dwInBufferSize,
[out] LPVOID lpOutBuffer,
[in] DWORD dwOutBufferSize,
[out] LPDWORD lpBytesReturned
);
Parámetros
[in] hPort
Identificador de puerto de comunicación devuelto por una llamada anterior a FilterConnectCommunicationPort. Este parámetro es obligatorio y no puede ser NULL.
[in, optional] lpInBuffer
Puntero a un búfer asignado por el autor de la llamada que contiene el mensaje que se va a enviar al minifiltro. El formato del mensaje está definido por el autor de la llamada. Este parámetro es obligatorio y no puede ser NULL.
[in] dwInBufferSize
Tamaño, en bytes, del búfer al que apunta lpInBuffer.
[out] lpOutBuffer
Puntero a un búfer asignado por el autor de la llamada que recibe la respuesta (si existe) del minifiltro.
[in] dwOutBufferSize
Tamaño, en bytes, del búfer al que apunta lpOutBuffer. Este valor se omite si lpOutBuffer es NULL.
[out] lpBytesReturned
Puntero a una variable asignada por el autor de la llamada que recibe el número de bytes devueltos en el búfer al que lpOutBuffer apunta si la llamada a FilterSendMessage se realiza correctamente. Este parámetro es obligatorio y no puede ser NULL.
Valor devuelto
FilterSendMessage devuelve S_OK si se ejecuta correctamente. De lo contrario, devuelve un valor de error.
Comentarios
La función FilterSendMessage envía un mensaje a un minifiltro. El mensaje se pasa a la rutina de devolución de llamada de notificación de mensaje del minifiltro, que procesa el mensaje. (El minifiltro registra su rutina de notificación de devolución de llamada de mensaje pasando como el parámetro MessageNotifyCallback a FltCreateCommunicationPort).
FilterSendMessage es sincrónico. El autor de la llamada se coloca en un estado de espera hasta que se entrega el mensaje y se recibe la respuesta del minifiltro (si existe).
Si el autor de la llamada espera una respuesta, debe pasar un búfer que no sea NULL para el parámetro lpOutBuffer y un valor positivo para el parámetro dwOutBufferSize .
Para obtener un mensaje de un minifiltro, llame a FilterGetMessage.
Para responder a un mensaje desde un minifiltro, llame a FilterReplyMessage.
Un minifiltro envía un mensaje a una aplicación en modo de usuario llamando a FltSendMessage.
Requisitos
Plataforma de destino | Universal |
Encabezado | fltuser.h (incluya Fltuser.h) |
Library | FltLib.lib |
Archivo DLL | FltLib.dll |