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 を呼び出してユーザー モード アプリケーションにメッセージを送信します。
要件
対象プラットフォーム | ユニバーサル |
Header | fltuser.h (Fltuser.h を含む) |
Library | FltLib.lib |
[DLL] | FltLib.dll |