PFLT_MESSAGE_NOTIFY コールバック関数 (fltkernel.h)
FltMgr
構文
PFLT_MESSAGE_NOTIFY PfltMessageNotify;
NTSTATUS PfltMessageNotify(
PVOID PortCookie,
PVOID InputBuffer,
ULONG InputBufferLength,
PVOID OutputBuffer,
ULONG OutputBufferLength,
PULONG ReturnOutputBufferLength
)
{...}
パラメーター
PortCookie
[in]このクライアント ポートを一意に識別するミニフィルター定義情報へのポインター。 クライアント ポートが作成されると、ミニフィルターは、ConnectNotifyCallback ルーチンの ConnectionPortCookie パラメーターでこのコンテキスト ポインターを返しました。
InputBuffer
[in]ミニフィルターに送信されるメッセージを含む呼び出し元によって割り当てられたバッファーへのポインター。
InputBuffer は、未加工のロック解除されたユーザー モード バッファーへのポインターです。 このポインターは、ユーザー モード プロセスのコンテキストでのみ有効であり、try/except ブロック内からのみアクセスする必要があります。
FltMgr
このパラメーターは省略可能であり、NULL にすることができます。
InputBufferLength
[in]InputBuffer が指
OutputBuffer
[out]ミニフィルターから応答を受信する呼び出し元によって割り当てられたバッファー (存在する場合) へのポインター。
OutputBuffer は、未加工のロック解除されたユーザー モード バッファーへのポインターです。 このポインターは、ユーザー モード プロセスのコンテキストでのみ有効であり、try/except ブロック内からのみアクセスする必要があります。
FltMgr
このパラメーターは省略可能であり、NULL にすることができます。
OutputBufferLength
[in]OutputBuffer が指
ReturnOutputBufferLength
[out]OutputBuffer が指す
戻り値
MessageNotifyCallback は、操作が成功した場合にSTATUS_SUCCESSを返します。 それ以外の場合は、次のような適切な NTSTATUS 値が返されます。
リターン コード | 意味 |
---|---|
STATUS_INSUFFICIENT_RESOURCES | 操作を完了するのに十分なリソースがありません。 |
STATUS_INVALID_PARAMETER | 1 つ以上の入力パラメーターが無効です。 |
備考
ミニフィルターは、必要に応じて、MessageNotifyCallbackを実装できます。 ミニフィルターでこのコールバックが実装されていない場合、ポートにデータを送信するためにユーザー モードから行われた要求はエラーを受け取ります。
詳細については、「ユーザー モードとミニフィルターの間の通信を参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | fltkernel.h |
ライブラリ | FltMgr.lib |
DLL | FltMgr.sys |
IRQL | PASSIVE_LEVEL |
関連項目
ConnectNotifyCallback の
FltCreateCommunicationPort を