FwpsInjectvSwitchEthernetIngressAsync0 関数 (fwpsk.h)
FwpsInjectvSwitchEthernetIngressAsync0 (was FwpsInjectvSwitchIngressAsync0) 関数は、以前に吸収された仮想スイッチ パケット (変更されていない) を、インターセプトされた仮想スイッチイングレス データ パスに再結合します。 この関数は、 FwpsAllocateNetBufferAndNetBufferList0 関数で作成されたパケットを挿入することもできます。
構文
NTSTATUS FwpsInjectvSwitchEthernetIngressAsync0(
[in] HANDLE injectionHandle,
[in, optional] HANDLE injectionContext,
[in] UINT32 flags,
[in, optional] void *reserved,
[in] const FWP_BYTE_BLOB *vSwitchId,
[in] NDIS_SWITCH_PORT_ID vSwitchSourcePortId,
[in] NDIS_SWITCH_NIC_INDEX vSwitchSourceNicIndex,
NET_BUFFER_LIST *netBufferLists,
[in] FWPS_INJECT_COMPLETE completionFn,
[in, optional] HANDLE completionContext
);
パラメーター
[in] injectionHandle
flags パラメーターを FWPS_INJECTION_TYPE_L2 に設定した FwpsInjectionHandleCreate0 関数の呼び出しによって以前に作成されたインジェクション ハンドル。
addressFamily パラメーターは使用されず、AF_UNSPECに設定する必要があります。
[in, optional] injectionContext
FwpsQueryPacketInjectionState0 関数で取得できる挿入コンテキストへの省略可能なハンドル。
[in] flags
予約済み。 0 に設定する必要があります。
[in, optional] reserved
予約済み。 NULL に設定する必要があります。
[in] vSwitchId
フィルター 処理エンジンが FWPS_INCOMING_VALUES0 構造体で引き出しドライバーの classifyFn 吹き出し関数に渡した仮想スイッチ識別子。 これは、xxx_VSWITCH_ID フィールドに用意されている仮想スイッチの GUID です。
[in] vSwitchSourcePortId
仮想スイッチのソース ポート識別子。
[in] vSwitchSourceNicIndex
仮想スイッチのソース NIC インデックス。
netBufferLists
仮想スイッチエグレス データ パスに挿入される NET_BUFFER_LIST 構造体のチェーン。
[in] completionFn
吹き出しドライバーによって提供される completionFn 吹き出し関数へのポインター。 フィルター エンジンは、 netBufferLists パラメーターのパケット データが仮想スイッチエグレス データ パスに挿入された後に、この関数を呼び出します。 completionFn 関数は、チェーン内のNET_BUFFER_LISTごとに 1 回呼び出されます。 複製または作成されたNET_BUFFER_LIST構造体を挿入する場合は、completionFnを指定する必要があります。 このパラメーターは、フィルター エンジンから受信した元の変更されていない NET_BUFFER_LIST 構造体を挿入するときに NULL にすることができます。
[in, optional] completionContext
completionFn パラメーターが指す引き出し関数に渡される、引き出しドライバーによって提供されるコンテキストへのポインター。 このパラメーターは省略可能であり、 NULL にすることができます。
戻り値
FwpsInjectvSwitchEthernetIngressAsync0 関数は、次の NTSTATUS コードのいずれかを返します。
リターン コード | 説明 |
---|---|
|
チェーン NET_BUFFER_LIST 仮想スイッチが正常に挿入されました。 |
|
エラーが発生しました。 |
解説
吹き出しが FwpsInjectvSwitchEthernetIngressAsync0 でパケットを挿入すると、パケットが最初に分類されたものと同じフィルターと一致する場合、挿入されたパケットを再び分類できます。 したがって、IP レイヤーでの吹き出しと同様に、仮想スイッチの吹き出しは、無限パケット検査から保護するために FwpsQueryPacketInjectionState0 関数を呼び出す必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | fwpsk.h (Fwpsk.h を含む) |
Library | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |
こちらもご覧ください
FwpsAllocateNetBufferAndNetBufferList0
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示