Compartir a través de


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

Consulte también

FilterConnectCommunicationPort

FilterGetMessage

FilterReplyMessage

FltCreateCommunicationPort

FltSendMessage