FilterGetMessage 函式 (fltuser.h)
FilterGetMessage函式會從核心模式迷你篩選取得訊息。
語法
HRESULT FilterGetMessage(
[in] HANDLE hPort,
[out] PFILTER_MESSAGE_HEADER lpMessageBuffer,
[in] DWORD dwMessageBufferSize,
[in, out] LPOVERLAPPED lpOverlapped
);
參數
[in] hPort
先前呼叫 FilterConnectCommunicationPort所傳回的通訊埠控制碼。 這個參數是必要的,而且不能是 Null。
[out] lpMessageBuffer
從迷你篩選接收訊息的呼叫端配置緩衝區指標。 訊息必須包含 FILTER_MESSAGE_HEADER 結構,否則其格式為呼叫端定義。 這個參數是必要的,而且不能是 Null。
[in] dwMessageBufferSize
lpMessageBuffer參數指向的緩衝區大小,以位元組為單位。
[in, out] lpOverlapped
重迭結構的指標。 這個參數是選擇性的,而且可以是 Null。 如果不是 Null,呼叫端必須將 OVERLAPPED 結構的 hEvent 成員初始化為有效的事件控制碼或 Null。
傳回值
如果成功,FilterGetMessage會傳回S_OK。 否則,它會傳回錯誤值。
備註
FilterGetMessage函式是針對同步和非同步 (重迭) 作業所設計。
當 lpOverlapped 為 Null且訊息可供使用時, FilterGetMessage 會立即傳回。 否則,呼叫端會進入等候狀態,直到收到訊息為止。
如果 lpOverlapped 不是 Null, FilterGetMessage 會傳回ERROR_IO_PENDING。 在此情況下, lpOverlapped 結構中的事件物件會在 FilterGetMessage 傳回之前設定為非ignaled 狀態。 傳遞訊息時,此事件會設定為已發出訊號的狀態。
從迷你篩選接收訊息之後,呼叫端可以藉由呼叫 FilterReplyMessage來傳送回復。
迷你篩選或實例會呼叫 FltSendMessage,將訊息傳送至使用者模式應用程式。
需求
目標平台 | Universal |
標頭 | fltuser.h (包含 Fltuser.h) |
程式庫 | FltLib.lib |
Dll | FltLib.dll |