次の方法で共有


FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0 コールバック関数 (fwpsk.h)

フィルター エンジンは vSwitchLifetimeNotifyFn (FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0) 吹き出し関数を呼び出して、仮想スイッチの作成イベントと削除イベントについて吹き出しドライバーに通知します。

FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0は特定のバージョンのFWPS_VSWITCH_LIFETIME_EVENT_CALLBACKであることに注意してください。 詳細については、「 WFP Version-Independent 名と特定のバージョンの Windows を対象 とする」を参照してください。
 

構文

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 構造体へのポインター。

メモNDIS_SWITCH_PARAMETERS構造体の情報は、仮想スイッチの初期状態を反映します。必ずしも現在の状態であるとは限りません。 特に、仮想スイッチ PnP イベントがトリガーされていない限り、 NumSwitchPorts メンバーと IsActive メンバーの初期値は 0 のままになることがあります。 現在の状態情報は、このコールバック関数の他のパラメーターにあります。
 

[in, optional] vSwitchPorts

ポート構成パラメーターの配列を指定する NDIS_SWITCH_PORT_ARRAY 構造体へのポインター。 配列内の各要素は、仮想スイッチ上のポートのパラメーターを指定します。

[in, optional] vSwitchInterfaces

ミニポート アダプター構成パラメーターの配列を指定する NDIS_SWITCH_NIC_ARRAY 構造体へのポインター。 配列内の各要素は、仮想スイッチのポートに接続されている仮想または物理ミニポート アダプターのパラメーターを指定します。

戻り値

吹き出しの

FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0関数は 、次のいずれかの NTSTATUS コードを返します。

リターン コード 説明
STATUS_SUCCESS
吹き出しドライバーは、フィルター エンジンからの通知を受け入れます。
その他の状態コード
エラーが発生しました。

解説

コールアウト ドライバーは、 を呼び出して 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

こちらもご覧ください

引き出しドライバーの引き出し関数

FWPS_VSWITCH_EVENT_TYPE

FWPS_VSWITCH_PORT_EVENT_CALLBACK0

FilterDetach

FilterRestart

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_SWITCH_NIC_ARRAY

NDIS_SWITCH_PARAMETERS

NDIS_SWITCH_PORT_ARRAY

NdisFRestartComplete

OID_SWITCH_NIC_ARRAY

OID_SWITCH_PARAMETERS

OID_SWITCH_PORT_ARRAY