共用方式為


FwpsInjectionHandleCreate0 函式 (fwpsk.h)

FwpsInjectionHandleCreate0 函式會建立句柄,封包插入函式 將封包或串流至 TCP/IP 網路堆棧,以及由 FwpsQueryPacketInjectionState0 函式用來查詢封包插入狀態。

附注FwpsInjectionHandleCreate0 是 FwpsInjectionHandleCreate 的特定版本。 如需詳細資訊,請參閱 糧食計劃署 Version-Independent 名稱和以特定版本的 Windows 為目標。
 

語法

NTSTATUS FwpsInjectionHandleCreate0(
  [in, optional] ADDRESS_FAMILY addressFamily,
  [in]           UINT32         flags,
  [out]          HANDLE         *injectionHandle
);

參數

[in, optional] addressFamily

要為其建立插入句柄的位址系列。 這可以是下列其中一個位址系列:

AF_UNSPEC

未指定位址系列。

AF_INET

IPv4 位址系列。

AF_INET6

IPv6 位址系列。

對於傳輸、串流和轉送插入,這個參數是選擇性的,可以設定為 AF_UNSPEC,這表示未指定的位址系列。 此值定義於 Ws2def.h 中。

[in] flags

圖說文字驅動程式所設定的旗標值,表示要插入的數據類型。 此旗標可以有下列一或多個值:

FWPS_INJECTION_TYPE_FORWARD

封包數據會藉由呼叫 來插入 FwpsInjectForwardAsync0 函式。

FWPS_INJECTION_TYPE_NETWORK

網路數據會藉由呼叫 任一項來插入 FwpsInjectNetworkReceiveAsync0 函式或 FwpsInjectNetworkSendAsync0 函式。

FWPS_INJECTION_TYPE_STREAM

藉由呼叫 來插入數據流數據 FwpsStreamInjectAsync0 函式。

FWPS_INJECTION_TYPE_TRANSPORT

傳輸數據會藉由呼叫 任一項來插入 FwpsInjectTransportReceiveAsync0 函式或 FwpsInjectTransportSendAsync0 函式。

若要建立多個插入函式要使用的插入句柄,請將插入類型位與位 OR 作業結合。 如果旗標值設定為零,產生的插入句柄可用於傳輸、數據流和正向插入。

[out] injectionHandle

接收句柄之變數的指標。

傳回值

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

傳回碼 描述
STATUS_SUCCESS
已成功建立插入句柄。
STATUS_FWP_TCPIP_NOT_READY
TCP/IP 網路堆疊尚未就緒。 圖說文字驅動程式應該在稍後再次呼叫 FwpsInjectionHandleCreate0 函式,以建立插入句柄。
其他狀態代碼
發生錯誤。

言論

圖說驅動程式會呼叫 FwpsInjectionHandleCreate0 函式,以建立可用來將封包或串流數據插入 TCP/IP 網路堆疊的句柄,並查詢封包插入狀態。 圖說驅動程式會將建立的句柄傳遞給 封包插入函式, FwpsQueryPacketInjectionState0

在註標驅動程式使用插入句柄完成之後,它必須呼叫 FwpsInjectionHandleDestroy0 函式來終結句柄。 如果暫止插入尚未完成,此函式會在傳回之前等候完成。

對網路層進行插入,而且篩選 IPv4 和 IPv6 位址系列時,圖說文字驅動程式必須呼叫 FwpsInjectionHandleCreate0 函式兩次建立兩個插入式句柄:一個呼叫具有 addressFamily 設定為 AF_INET,而第二次呼叫的 addressFamily addressFamily 設定為 AF_INET6。

針對 MAC 層 (*MAC_FRAME_NATIVE、*MAC_FRAME_ETHERNET、*VSWITCH_ETHERNET),您可以使用與 FWPS_INJECTION_TYPE_L2 旗標一起取得的相同插入句柄。 插入類型會比圖層更接近插入函式。

如需程式代碼範例,請參閱 WFPSampler HelperFunctions_InjectionData.cpp

要求

要求 價值
最低支援的用戶端 從 Windows Vista 開始提供。
目標平臺 普遍
標頭 fwpsk.h (包括 Fwpsk.h)
連結庫 Fwpkclnt.lib
IRQL PASSIVE_LEVEL

另請參閱

FwpsInjectionHandleDestroy0

FwpsQueryPacketInjectionState0

封包插入函式