FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0 コールバック関数 (fwpsk.h)
フィルター エンジンは vSwitchLifetimeNotifyFn (FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0) 吹き出し関数を呼び出して、仮想スイッチの作成イベントと削除イベントについて吹き出しドライバーに通知します。
構文
FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0 FwpsVswitchLifetimeEventCallback0;
NTSTATUS FwpsVswitchLifetimeEventCallback0(
[in, optional] void *notifyContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in, optional] const NDIS_SWITCH_PORT_ARRAY *vSwitchPorts,
[in, optional] const NDIS_SWITCH_NIC_ARRAY *vSwitchInterfaces
)
{...}
パラメーター
[in, optional] notifyContext
吹き出しドライバーによって提供されるコンテキストへのポインター。 ドライバーは、FwpsvSwitchEventsSubscribe0 関数の notifyContext パラメーターにこのポインターを渡しました。 このパラメーターは省略可能であり、NULL にすることができます。
[in] eventType
FWPS_VSWITCH_EVENT_TYPE列挙値の 1 つとして指定された仮想スイッチ イベントの種類。 詳細については、「解説」を参照してください。
[in] vSwitch
仮想スイッチに関する情報を含む NDIS_SWITCH_PARAMETERS 構造体へのポインター。
[in, optional] vSwitchPorts
ポート構成パラメーターの配列を指定する NDIS_SWITCH_PORT_ARRAY 構造体へのポインター。 配列内の各要素は、仮想スイッチ上のポートのパラメーターを指定します。
[in, optional] vSwitchInterfaces
ミニポート アダプター構成パラメーターの配列を指定する NDIS_SWITCH_NIC_ARRAY 構造体へのポインター。 配列内の各要素は、仮想スイッチのポートに接続されている仮想または物理ミニポート アダプターのパラメーターを指定します。
戻り値
吹き出しの
FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0関数は 、次のいずれかの NTSTATUS コードを返します。
リターン コード | 説明 |
---|---|
|
吹き出しドライバーは、フィルター エンジンからの通知を受け入れます。 |
|
エラーが発生しました。 |
解説
コールアウト ドライバーは、 を呼び出して vSwitchLifetimeNotifyFn コールバック関数を登録します
FwpsvSwitchEventsSubscribe0 関数。
vSwitchLifetimeNotifyFn コールバックが登録されている場合、WFP フィルター ドライバーは、仮想スイッチ インスタンスが作成されたときにコールアウト ドライバーに通知します。 仮想スイッチの複数のインスタンスを同時に Hyper-V ホストに存在させることができます。
WFP フィルター ドライバーは、FilterRestart 関数のOID_SWITCH_PARAMETERS OID を照会して、仮想スイッチの現在のインスタンスに関連付けられている仮想スイッチ識別子を取得します。 WFP フィルター ドライバーでは、 OID_SWITCH_NIC_ARRAY に対してクエリを実行し、 OID をOID_SWITCH_PORT_ARRAY して、構成された仮想 NIC と仮想ポートの初期セットを取得します。 WFP フィルター ドライバーは、eventType パラメーターにFWPS_VSWITCH_EVENT_VSWITCH_CREATE設定されたNDIS_SWITCH_PORT_ARRAYとNDIS_SWITCH_NIC_ARRAY構造体情報を OID から vSwitchLifetimeNotifyFn に渡します。
WFP フィルター ドライバーの FilterDetach では、 フィルターは eventTypevSwitchLifetimeNotifyFn パラメーターに設定FWPS_VSWITCH_EVENT_VSWITCH_DELETE を使用して を呼び出します。
吹き出しドライバーは 、vSwitchLifetimeNotifyFn からSTATUS_PENDINGを返すことができません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8以降で使用できます。 |
対象プラットフォーム | Windows |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
IRQL | <= DISPATCH_LEVEL |