FwpmBfeStateSubscribeChanges0 関数 (fwpmk.h)
FwpmBfeStateSubscribeChanges0 関数は、フィルター エンジンの状態が変更されるたびに呼び出されるコールバック関数を登録します。
警告
コールバック パラメーターで渡したコールバック関数から FwpmBfeStateUnsubscribeChanges0 を呼び出さないでください。 これを行うと、デッドロックが発生する可能性があります。
構文
NTSTATUS FwpmBfeStateSubscribeChanges0(
[in, out] void *deviceObject,
[in] FWPM_SERVICE_STATE_CHANGE_CALLBACK0 callback,
[in, optional] void *context,
[out] HANDLE *changeHandle
);
パラメーター
[in, out] deviceObject
吹き出しドライバーによって以前に作成されたデバイス オブジェクトへのポインター。 吹き出しドライバーがデバイス オブジェクトを作成する方法の詳細については、「 デバイス オブジェクトの作成」を参照してください。
[in] callback
コールアウト ドライバーによって提供されるサービス状態変更コールバック関数へのポインター。 フィルター エンジンは、フィルター エンジンの状態が変化するたびに、この関数を呼び出します。
サービス状態変更コールバック関数は、次のように宣言されます。
VOID NTAPI
callback(
IN OUT void *context,
IN FWPM_SERVICE_STATE newState
);
Context
引き出しドライバーが FwpmBfeStateSubscribeChanges0 関数を呼び出したときに Context パラメーターで渡されたポインター。
newState
フィルター エンジンの新しい状態。 このパラメーターには、次のいずれかの値が含まれています。
FWPM_SERVICE_STOPPED
フィルター エンジンが実行されていません。
FWPM_SERVICE_START_PENDING
フィルター エンジンが起動しています。
FWPM_SERVICE_STOP_PENDING
フィルター エンジンが停止しています。
FWPM_SERVICE_RUNNING
フィルター エンジンが実行されています。
[in, optional] context
Callback パラメーターで指定されたコールバック関数に渡される、引き出しドライバーによって提供されるコンテキストへのポインター。
[out] changeHandle
コールバック関数の登録に関連付けられているハンドルを受け取る変数へのポインター。 コールアウト ドライバーは、このハンドルを FwpmBfeStateUnsubscribeChanges0 関数に渡して、コールバック関数を登録解除します。
戻り値
FwpmBfeStateSubscribeChanges0 関数は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 説明 |
---|---|
|
コールバック関数が正常に登録されました。 |
|
エラーが発生しました。 |
解説
コールアウト ドライバーは 、FwpmBfeStateSubscribeChanges0 関数を呼び出して、フィルター エンジンの状態が変更されるたびに呼び出されるコールバック関数を登録します。
たとえば、吹き出しドライバーは、フィルター エンジンが現在実行されていない限り 、FwpmEngineOpen0 関数を呼び出してフィルター エンジンへのセッションを開くことができません。 コールアウト ドライバーでは、 FWPM_SERVICE_RUNNING 通知を使用してフィルター エンジンへのセッションを開き、他の Windows フィルター プラットフォーム管理機能を呼び出すことができます。 同様に、吹き出しドライバーは 、フィルター エンジンが停止する前に、FWPM_SERVICE_STOP_PENDING通知を使用してクリーンアップを実行できます。
コールアウト ドライバーは 、FwpmBfeStateGet0 関数を呼び出してフィルター エンジンの現在の状態を取得する前に 、FwpmBfeStateSubscribeChanges0 を呼び出す必要があります。 FwpmBfeStateSubscribeChanges0 の呼び出しが戻った後、引き出し線ドライバーは FwpmBfeStateGet0 をいつでも呼び出すことができます。
コールアウト ドライバーは、 を呼び出してコールバック関数の登録を解除する必要があります。引き出しドライバーをアンロードする前の FwpmBfeStateUnsubscribeChanges0 関数。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | fwpmk.h (Fwpmk.h を含む) |
Library | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |
こちらもご覧ください
FwpmBfeStateUnsubscribeChanges0フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示