共用方式為


FwpsInjectvSwitchEthernetIngressAsync0 函式 (fwpsk.h)

FwpsInjectvSwitchEthernetIngressAsync0 (是 FwpsInjectvSwitchIngressAsync0) 函式會重新檢視先前已吸收的虛擬交換器封包, (未修改的) 回到攔截的虛擬交換器輸入數據路徑。 此函式也可以插入使用 FwpsAllocateNetBufferAndNetBufferList0 函式建立的封包。

注意FwpsInjectvSwitchEthernetIngressAsync0 是特定版本的 FwpsInjectvSwitchEthernetIngressAsync。 如需詳細資訊 ,請參閱 Version-Independent 名稱和以特定版本的 Windows 為目標
 

語法

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

先前由 呼叫 FwpsInjectionHandleCreate0 函式所建立的插入句柄, 並將 flags 參數設定為 FWPS_INJECTION_TYPE_L2

addressFamily 參數未使用,而且應該設定為 AF_UNSPEC

[in, optional] injectionContext

可透過 FwpsQueryPacketInjectionState0 函式擷取之插入內容的選擇性句柄。

[in] flags

保留的。 必須設定為零。

[in, optional] reserved

保留的。 必須設定為 NULL。

[in] vSwitchId

篩選引擎傳遞至圖說文字驅動程序分類Fn 圖說函式之FWPS_INCOMING_VALUES0結構的虛擬交換器標識碼。 這是xxx_VSWITCH_ID欄位中提供的虛擬交換器的 GUID

[in] vSwitchSourcePortId

虛擬交換器來源埠識別碼。

[in] vSwitchSourceNicIndex

虛擬交換器來源 NIC 索引。

netBufferLists

要插入虛擬交換器輸出數據路徑的 NET_BUFFER_LIST 結構鏈結。

[in] completionFn

圖說文字驅動程式所提供 之 completionFn 圖說文字函式的指標。 篩選引擎會在封包數據插入至虛擬交換器輸出數據路徑之後,於 netBufferLists 參數呼叫此函式。 完成Fn 函式會針對鏈結中的每個NET_BUFFER_LIST呼叫一次。 插入複製或建立NET_BUFFER_LIST結構時,必須指定 completionFn。 插入從篩選引擎接收的原始未變更 NET_BUFFER_LIST 結構時,此參數可以是 NULL。

[in, optional] completionContext

圖說文字驅動程式提供的指標,傳遞至 completionFn 參數所指向的圖說文字函式。 此參數是選擇性的,可以是 NULL

傳回值

FwpsInjectvSwitchEthernetIngressAsync0 函式會傳回下列其中一個 NTSTATUS 代碼。

傳回碼 Description
STATUS_SUCCESS
已成功插入虛擬交換器 NET_BUFFER_LIST 鏈結。
其他狀態代碼
發生錯誤。

備註

當圖說文字使用 FwpsInjectvSwitchEthernetIngressAsync0 插入封包時,如果封包符合原本分類的相同篩選條件,則插入的封包可能會再次分類。 因此,如同IP層的圖說文字,虛擬交換器圖說文字必須呼叫 FwpsQueryPacketInjectionState0 函式,以防止無限封包檢查。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
目標平台 Universal
標頭 fwpsk.h (包含 Fwpsk.h)
程式庫 Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

另請參閱

FWPS_INCOMING_VALUES0

FwpsAllocateNetBufferAndNetBufferList0

FwpsInjectionHandleCreate0

FwpsQueryPacketInjectionState0

NET_BUFFER_LIST

completionFn