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 を呼び出してユーザー モード アプリケーションにメッセージを送信します。

要件

   
対象プラットフォーム ユニバーサル
Header fltuser.h (Fltuser.h を含む)
Library FltLib.lib
[DLL] FltLib.dll

関連項目

FilterConnectCommunicationPort

FilterGetMessage

FilterReplyMessage

FltCreateCommunicationPort

FltSendMessage