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 |