filterSendMessage 函数 (fltuser.h)

FilterSendMessage 函数将消息发送到内核模式微筛选器。

语法

HRESULT FilterSendMessage(
  [in]           HANDLE  hPort,
  [in, optional] LPVOID  lpInBuffer,
  [in]           DWORD   dwInBufferSize,
  [out]          LPVOID  lpOutBuffer,
  [in]           DWORD   dwOutBufferSize,
  [out]          LPDWORD lpBytesReturned
);

参数

[in] hPort

以前调用 FilterConnectCommunicationPort 返回的通信端口句柄。 此参数是必需的,不能为 NULL

[in, optional] lpInBuffer

指向调用方分配的缓冲区的指针,该缓冲区包含要发送到微筛选器的消息。 消息格式是调用方定义的。 此参数是必需的,不能为 NULL

[in] dwInBufferSize

lpInBuffer 指向的缓冲区的大小(以字节为单位)。

[out] lpOutBuffer

指向调用方分配的缓冲区的指针,该缓冲区接收回复 ((如果微筛选器有任何) )。

[in] dwOutBufferSize

lpOutBuffer 指向的缓冲区的大小(以字节为单位)。 如果 lpOutBufferNULL,则忽略此值。

[out] lpBytesReturned

指向调用方分配的变量的指针,如果对 FilterSendMessage 的调用成功,该变量接收 lpOutBuffer 指向的缓冲区中返回的字节数。 此参数是必需的,不能为 NULL

返回值

如果成功,FilterSendMessage 将返回S_OK。 否则,它将返回错误值。

备注

FilterSendMessage 函数将消息发送到微筛选器。 消息将传递到微筛选器的消息通知回调例程,后者处理消息。 (微筛选器通过将消息回调通知例程作为 MessageNotifyCallback 参数传递给 FltCreateCommunicationPort.)

FilterSendMessage 是同步的。 如果收到任何) ,则调用方将进入等待状态,直到消息送达,微筛选器的回复 (。

如果调用方需要答复,则必须为 lpOutBuffer 参数传递非 NULL 缓冲区,并为 dwOutBufferSize 参数传递正值。

若要从微筛选器获取消息,请调用 FilterGetMessage

若要回复来自微筛选器的消息,请调用 FilterReplyMessage

微筛选器通过调用 FltSendMessage 将消息发送到用户模式应用程序。

要求

   
目标平台 通用
标头 fltuser.h (包括 Fltuser.h)
Library FltLib.lib
DLL FltLib.dll

请参阅

FilterConnectCommunicationPort

FilterGetMessage

FilterReplyMessage

FltCreateCommunicationPort

FltSendMessage