FWPS_VSWITCH_POLICY_EVENT_CALLBACK0コールバック関数 (fwpsk.h)
フィルター エンジンは、vSwitchPolicyEventNotifyFn (FWPS_VSWITCH_POLICY_EVENT_CALLBACK0) 吹き出し関数を呼び出して、仮想スイッチ ポリシー イベントについてコールアウト ドライバーに通知します。
構文
FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 FwpsVswitchPolicyEventCallback0;
NTSTATUS FwpsVswitchPolicyEventCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in, optional] const NDIS_SWITCH_PORT_PROPERTY_PARAMETERS *vSwitchPortProperty,
[in, optional] const NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS *vSwitchPortPropertyDelete
)
{...}
パラメーター
[in, optional] notifyContext
引き出しドライバーによって提供されるコンテキストへのポインター。 ドライバーは、FwpsvSwitchEventsSubscribe0 関数の notifyContext パラメーターにこのポインターを渡しました。 このパラメーターは省略可能であり、NULL にすることができます。
[in] completionContext
コールアウト ドライバーによって提供される完了コンテキストへのポインター。 このパラメーターは省略可能であり、NULL にすることができます。
[in] eventType
FWPS_VSWITCH_EVENT_TYPE 列挙値の 1 つとして指定された仮想スイッチ イベントの種類。 詳細については、「解説」を参照してください。
[in] vSwitch
仮想スイッチに関する情報を含む NDIS_SWITCH_PARAMETERS 構造体へのポインター。
[in, optional] vSwitchPortProperty
NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 構造体へのポインター。 仮想スイッチ のポート プロパティ。
[in, optional] vSwitchPortPropertyDelete
NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 構造体へのポインター。 仮想スイッチ のポート プロパティ。
戻り値
吹き出しの
FWPS_VSWITCH_POLICY_EVENT_CALLBACK0 関数は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 形容 |
---|---|
|
吹き出しドライバーは、フィルター エンジンからの通知を受け入れます。 |
|
操作は保留中であり、後で完了します。 コールアウト ドライバーは、FwpsvSwitchNotifyComplete0 関数を呼び出して、保留中の操作を完了します。 |
|
エラーが発生しました。 |
備考
コールアウト ドライバーは、FwpsvSwitchEventsSubscribe0 関数を呼び出すことによって、vSwitchPolicyEventNotifyFn 関数を登録します。
vSwitchPolicyEventNotifyFn コールバックが登録されている場合、移行先ホストのコールアウトには、ライブ マイグレーション中および移行中の VM を新しいホストで実行する前に、仮想スイッチ ポート用に構成されたポリシーに関する通知が送信されます。
ライブ マイグレーションを使用しない場合、vm の保存操作 vSwitchPolicyEventNotifyFn も呼び出されます。
VMMS WMI インターフェイスを介して構成されたベンダー フィルター ポリシーへの変更は、OID 要求を使用して WFP 仮想スイッチ拡張機能に渡されます。 これらの OID は、PropertyType メンバーが NdisSwitchPortPropertyTypeCustom 型に設定された NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 構造体を持ちます。
WFP フィルター ドライバーは、仮想スイッチ ポートのポリシー プロパティの追加についてコールアウト ドライバーに通知するために、eventType パラメーターにFWPS_VSWITCH_EVENT_POLICY_ADDの種類を設定して vSwitchPolicyEventNotifyFn を する OID_SWITCH_PORT_PROPERTY_ADD OID 要求の情報を渡します。
WFP フィルター ドライバーは、仮想スイッチ ポート ポリシーのプロパティの更新について吹き出しフィルター ドライバー に通知するために、eventType パラメーターに設定されたFWPS_VSWITCH_EVENT_POLICY_UPDATEの種類を持つ vSwitchPolicyEventNotifyFn に OID_SWITCH_PORT_PROPERTY_UPDATE OID 要求の情報を渡します。
これらの OID には、ポリシーが属する WFP プロバイダーを一意に識別するプロパティ識別子 GUID も含まれます。 プロパティ識別子 GUID は、ベンダーが VMMS を使用してそのポリシーを構成するときに提供され、GUID は、ベンダーが WFP にプロバイダーを登録するために使用するのと同じ GUID である必要があります。
WFP は、プロパティ識別子 GUID と、FwpsvSwitchEventsSubscribe0 関数から指定されたプロバイダー GUID との照合を試みます。 一致する場合、WFP は対応する vSwitchPolicyEventNotifyFn を呼び出し、NDIS_SWITCH_PORT_PROPERTY_PARAMETERS 構造体を吹き出しに渡します。
WFP フィルター ドライバーは、仮想スイッチ ポートのポリシー プロパティの削除について吹き出しフィルター ドライバーに通知するために、eventType パラメーターに設定されたFWPS_VSWITCH_EVENT_POLICY_DELETEの種類を使用して vSwitchPolicyEventNotifyFn を する OID_SWITCH_PORT_PROPERTY_DELETE OID 要求の情報を渡します。 削除プロパティは、NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS 構造体で指定されます。
吹き出しが vSwitchPolicyEventNotifyFn からSTATUS_PENDING返された場合、WFP は FilterOidRequest ハンドラーにSTATUS_PENDINGを返します。 コールアウト ドライバーは、FwpsvSwitchNotifyComplete0 関数を呼び出して、保留中の操作を完了します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 以降で使用できます。 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
IRQL | <= DISPATCH_LEVEL |
関連項目
NDIS_SWITCH_PORT_PROPERTY_DELETE_PARAMETERS
NDIS_SWITCH_PORT_PROPERTY_PARAMETERS