FWPS_VSWITCH_PORT_EVENT_CALLBACK0コールバック関数 (fwpsk.h)
フィルター エンジンは、vSwitchPortEventNotifyFn (FWPS_VSWITCH_PORT_EVENT_CALLBACK0) 吹き出し関数を呼び出して、仮想スイッチ (vSwitch) ポートに関連付けられているイベントについてコールアウト ドライバーに通知します。
構文
FWPS_VSWITCH_PORT_EVENT_CALLBACK0 FwpsVswitchPortEventCallback0;
NTSTATUS FwpsVswitchPortEventCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] FWPS_VSWITCH_EVENT_TYPE eventType,
[in] const NDIS_SWITCH_PARAMETERS *vSwitch,
[in] const NDIS_SWITCH_PORT_PARAMETERS *vSwitchPort
)
{...}
パラメーター
[in, optional] notifyContext
引き出しドライバーによって提供されるコンテキストへのポインター。 ドライバーは、FwpsvSwitchEventsSubscribe0 関数の notifyContext パラメーターにこのポインターを渡しました。 このパラメーターは省略可能であり、NULL にすることができます。
[in] completionContext
コールアウト ドライバーによって提供される完了コンテキストへのポインター。 このパラメーターは省略可能であり、NULL にすることができます。
[in] eventType
FWPS_VSWITCH_EVENT_TYPE 列挙値の 1 つとして指定された仮想スイッチ vSwitch イベントの種類。 詳細については、「解説」を参照してください。
[in] vSwitch
仮想スイッチに関する情報を含む NDIS_SWITCH_PARAMETERS 構造体へのポインター。
[in] vSwitchPort
vSwitch 上のポートのパラメーターを含む NDIS_SWITCH_PORT_PARAMETERS 構造体へのポインター。
戻り値
吹き出しの
FWPS_VSWITCH_PORT_EVENT_CALLBACK0 関数は、次のいずれかの NTSTATUS コードを返します。
リターン コード | 形容 |
---|---|
|
吹き出しドライバーは、フィルター エンジンからの通知を受け入れます。 |
|
操作は保留中であり、後で完了します。 コールアウト ドライバーは、FwpsvSwitchNotifyComplete0 関数を呼び出して、保留中の操作を完了します。 |
|
エラーが発生しました。 |
備考
コールアウト ドライバーは、FwpsvSwitchEventsSubscribe0 関数を呼び出すことによって、vSwitchPortEventNotifyFn 関数を登録します。
vSwitchPortEventNotifyFn コールバックが登録されている場合、コールアウト ドライバーはポートの作成と削除の通知を受け取ります。
eventType パラメーターが FWPS_VSWITCH_EVENT_PORT_CREATE に設定されている場合は、vSwitch ポートが作成されました。 この場合、vSwitch パラメーターは、仮想スイッチ (vSwitch) に関する情報を含む NDIS_SWITCH_PARAMETERS 構造体を識別し、NDIS_SWITCH_PORT_PARAMETERS パラメーターにはポートに関する情報が含まれています。
吹き出しは、vSwitchPortEventNotifyFnからSTATUS_PENDINGを返すことができます。 この場合、コールアウト ドライバーは、FwpsvSwitchNotifyComplete0 関数を呼び出して、保留中の操作を完了します。
ポートが削除されると、WFP フィルター ドライバーは、eventType パラメーターにFWPS_VSWITCH_EVENT_PORT_DELETEが設定された vSwitchPortEventNotifyFn 呼び出します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 8 以降で使用できます。 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
IRQL | <= DISPATCH_LEVEL |