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 指向的缓冲区的大小(以字节为单位)。 如果 lpOutBuffer 为 NULL,则忽略此值。
[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 |