FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 コールバック関数 (fwpsk.h)
フィルター エンジンは 、vSwitchRuntimeStateRestoreNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0) 吹き出し関数を呼び出して、仮想スイッチの実行時状態復元イベントについてコールアウト ドライバーに通知します。
構文
FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0 FwpsVswitchRuntimeStateRestoreCallback0;
NTSTATUS FwpsVswitchRuntimeStateRestoreCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in] NDIS_SWITCH_PORT_ID portId,
void *runtimeState,
[in] SIZE_T runtimeStateLength
)
{...}
パラメーター
[in, optional] notifyContext
コールアウト ドライバーによって提供されるコンテキストへのポインター。 ドライバーは、FwpsvSwitchEventsSubscribe0 関数の notifyContext パラメーターにこのポインターを渡しました。 このパラメーターは省略可能であり、NULL にすることができます。
[in] completionContext
コールアウト ドライバーによって提供される完了コンテキストへのポインター。 このパラメーターは省略可能であり、NULL にすることができます。
[in] eventType
FWPS_VSWITCH_EVENT_TYPE列挙値の 1 つとして指定された仮想スイッチ イベントの種類。 詳細については、「解説」を参照してください。
[in] vSwitch
仮想スイッチに関する情報を含む NDIS_SWITCH_PARAMETERS 構造体へのポインター。
[in] portId
ソース スイッチ ポート識別子。
runtimeState
実行時状態出力結果バッファーの場所。
[in] runtimeStateLength
実行時状態バッファー内の実行時状態情報の長さ (バイト単位)。
戻り値
吹き出しの
FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0関数は 、次のいずれかの NTSTATUS コードを返します。
リターン コード | 説明 |
---|---|
|
吹き出しドライバーは、フィルター エンジンからの通知を受け入れます。 |
|
操作は保留中であり、後で完了します。 コールアウト ドライバーは FwpsvSwitchNotifyComplete0 関数を呼び出して、保留中の操作を完了します。 |
|
エラーが発生しました。 |
解説
コールアウト ドライバーは、FwpsvSwitchEventsSubscribe0 関数を呼び出すことによって vSwitchRuntimeStateRestoreNotifyFn 関数を登録します。
ランタイム状態の保存については、 vSwitchRuntimeStateSaveNotifyFn (FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0) 関数を参照してください。
保存された各データ セグメントは、復元操作中にターゲット システムまたはローカル システム上の仮想スイッチ拡張スタックを介して送信される OID_SWITCH_NIC_RESTORE OID で復元されます。 WFP は、登録済みのプロバイダー GUID と一致した後、 vSwitchRuntimeStateRestoreNotifyFn を介して正しい吹き出しにデータをディスパッチします。 この場合、vSwitchRuntimeStateRestoreNotifyFn の eventType パラメーターは FWPS_VSWITCH_EVENT_RUNTIME_STATE_RESTORE に設定されます。
吹き出しは 、vSwitchRuntimeStateRestoreNotifyFn からSTATUS_PENDINGを返すことができます。 この場合、WFP は FilterOidRequest ハンドラーでSTATUS_PENDINGを返し、後で完了します。 コールアウト ドライバーは FwpsvSwitchNotifyComplete0 関数を呼び出して、保留中の操作を完了します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 以降で使用できます。 |
対象プラットフォーム | Windows |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
IRQL | <= DISPATCH_LEVEL |