FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 コールバック関数 (fwpsk.h)
フィルター エンジンは 、vSwitchFilterEngineReorderNotifyRn (FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0) 吹き出し関数を呼び出して、仮想スイッチ フィルター エンジンの並べ替えに関連付けられているイベントについてコールアウト ドライバーに通知します。
構文
FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 FwpsVswitchFilterEngineReorderCallback0;
NTSTATUS FwpsVswitchFilterEngineReorderCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] BOOLEAN isInRequiredPosition,
[in] const NDIS_ENUM_FILTERS *vSwitchExtensionLwfList
)
{...}
パラメーター
[in, optional] notifyContext
コールアウト ドライバーによって提供されるコンテキストへのポインター。 ドライバーは、FwpsvSwitchEventsSubscribe0 関数の notifyContext パラメーターにこのポインターを渡しました。 このパラメーターは省略可能であり、NULL にすることができます。
[in] completionContext
コールアウト ドライバーによって提供される完了コンテキストへのポインター。 このパラメーターは省略可能であり、NULL にすることができます。
[in] isInRequiredPosition
フィルターがフィルター スタック内の必要な位置にある場合は TRUE に設定され、そうでない場合は FALSE に設定されるブール値。
[in] vSwitchExtensionLwfList
仮想スイッチ拡張機能 NDIS フィルター ドライバーの一覧を指定するNDIS_ENUM_FILTERS構造体。
戻り値
吹き出しの
FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0関数は 、次のいずれかの NTSTATUS コードを返します。
リターン コード | 説明 |
---|---|
|
吹き出しドライバーは、フィルター エンジンからの通知を受け入れます。 |
|
エラーが発生しました。 |
解説
コールアウト ドライバーは、 を登録します。
を呼び出して vSwitchFilterEngineReorderNotifyRn 関数を呼び出す
FwpsvSwitchEventsSubscribe0 関数。
既定では、WFP 仮想スイッチ拡張機能は、仮想スイッチのイングレス時に最初のフィルター拡張機能として配置されます。 (したがって、仮想スイッチエグレスでの最後の拡張機能でもあります)。 WFP 拡張機能は、他の拡張機能がイングレスでそれらを変更する前にパケットをインターセプトできるため、通常はこれが最適な位置です。 また、WFP 拡張機能は、すべてのパケット変更がエグレスで行われた後にパケットをインターセプトできます。
ただし、管理者は同じクラスの仮想スイッチ拡張機能を並べ替えることができるため、WFP 拡張機能は既定の位置から並べ替えることができます。 並べ替えが行われると、WFP クライアントのフィルターがバイパスされ、調整が必要になる場合があります。
vSwitchFilterEngineReorderNotifyRn コールバックが登録されている場合、仮想スイッチの並べ替えが発生すると、コールアウト ドライバーに通知されます。 コールアウト ドライバーは、vSwitchExtensionLwfList パラメーターで現在の仮想スイッチ拡張機能の順序付きリストを持つNDIS_ENUM_FILTERS構造体を受け取ります。
仮想スイッチ拡張機能の順序が変更されると、WFP 拡張機能は一時停止され ( FilterPause を参照)、再起動されます ( 「FilterRestart」を参照)。 WFP フィルター FilterRestart 呼び出しから、WFP フィルター ドライバーは NdisEnumerateFilterModules 関数を呼び出して、仮想スイッチ拡張機能フィルターの順序付きリストを取得します。 WFP 拡張機能が既定の位置にない場合、フィルター ドライバーはコールアウト ドライバーに通知します。
引き出し線ドライバーは 、vSwitchFilterEngineReorderNotifyRn からSTATUS_PENDINGを返すことができません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 以降で使用できます。 |
対象プラットフォーム | Windows |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
IRQL | <= DISPATCH_LEVEL |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示