Função FilterSendMessage (fltuser.h)

A função FilterSendMessage envia uma mensagem para um minifiltro no modo kernel.

Sintaxe

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 porta de comunicação retornado por uma chamada anterior para FilterConnectCommunicationPort. Esse parâmetro é necessário e não pode ser NULL.

[in, optional] lpInBuffer

Ponteiro para um buffer alocado pelo chamador que contém a mensagem a ser enviada para o minifiltro. O formato da mensagem é definido pelo chamador. Esse parâmetro é necessário e não pode ser NULL.

[in] dwInBufferSize

Tamanho, em bytes, do buffer apontado por lpInBuffer.

[out] lpOutBuffer

Ponteiro para um buffer alocado pelo chamador que recebe a resposta (se houver) do minifiltro.

[in] dwOutBufferSize

Tamanho, em bytes, do buffer apontado por lpOutBuffer. Esse valor será ignorado se lpOutBuffer for NULL.

[out] lpBytesReturned

Ponteiro para uma variável alocada pelo chamador que recebe o número de bytes retornados no buffer para o qual lpOutBuffer aponta se a chamada para FilterSendMessage for bem-sucedida. Esse parâmetro é necessário e não pode ser NULL.

Valor retornado

FilterSendMessage retornará S_OK se tiver êxito. Caso contrário, ele retornará um valor de erro.

Comentários

A função FilterSendMessage envia uma mensagem para um minifiltro. A mensagem é passada para a rotina de retorno de chamada de notificação de mensagem do minifiltro, que processa a mensagem. (O minifiltro registra sua rotina de notificação de retorno de chamada de mensagem passando-a como o parâmetro MessageNotifyCallback para FltCreateCommunicationPort.)

FilterSendMessage é síncrono. O chamador é colocado em um estado de espera até que a mensagem seja entregue e a resposta do minifiltro (se houver) seja recebida.

Se o chamador esperar uma resposta, ele deverá passar um buffer não NULL para o parâmetro lpOutBuffer e um valor positivo para o parâmetro dwOutBufferSize .

Para obter uma mensagem de um minifiltro, chame FilterGetMessage.

Para responder a uma mensagem de um minifiltro, chame FilterReplyMessage.

Um minifiltro envia uma mensagem para um aplicativo de modo de usuário chamando FltSendMessage.

Requisitos

   
Plataforma de Destino Universal
Cabeçalho fltuser.h (inclua Fltuser.h)
Biblioteca FltLib.lib
DLL FltLib.dll

Confira também

FilterConnectCommunicationPort

FilterGetMessage

FilterReplyMessage

FltCreateCommunicationPort

FltSendMessage