FwpsCalloutRegister2 函式 (fwpsk.h)

FwpsCalloutRegister2 函式會向篩選引擎註冊圖說文字。

注意FwpsCalloutRegister2 是 Windows 8 和更新版本中所使用的特定 FwpsCalloutRegister 版本。 如需詳細資訊 ,請參閱 Version-Independent 名稱和以特定版本的 Windows 為目標 。 針對 Windows 7, 可以使用 FwpsCalloutRegister1 。 針對 Windows Vista,FwpsCalloutRegister0 可供使用。

 

語法

NTSTATUS FwpsCalloutRegister2(
  [in, out]       void                *deviceObject,
  [in]            const FWPS_CALLOUT2 *callout,
  [out, optional] UINT32              *calloutId
);

參數

[in, out] deviceObject

圖說文字驅動程式先前所建立之裝置物件的指標。 如需圖說驅動程式如何建立裝置對象的詳細資訊,請參閱 建立裝置物件

[in] callout

數FWPS_CALLOUT2 結構的指標,其中包含向篩選引擎註冊圖說文字所需的數據。

[out, optional] calloutId

UINT32 型別變數的指標,可接收識別篩選引擎中圖說文字的運行時間標識碼。 從篩選引擎取消註冊圖說文字時,圖說文字驅動程式會將此標識碼傳遞至 FwpsCalloutUnregisterById0 函式。 如果圖說文字驅動程式正在篩選數據流,它也會將此標識符傳遞至 FwpsFlowAssociateContext0FwpsFlowRemoveContext0 函式。 如果圖說文字驅動程式將數據插入數據流中,它也會將此標識碼傳遞至 FwpsStreamInjectAsync0 函式。 篩選引擎也會將此標識碼傳遞至圖說驅動程式 的 flowDeleteFn 圖說文字函式。 此參數是選擇性的,可以是 NULL。

傳回值

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

傳回碼 Description
STATUS_SUCCESS
圖說文字已成功向篩選引擎註冊。
STATUS_FWP_ALREADY_EXISTS
圖說文字無法向篩選引擎註冊。 圖說文字已在篩選引擎中註冊,其標識符與說參數所指向FWPS_CALLOUT2結構之 calloutKey 成員中指定的 GUID 相同。
其他狀態代碼
發生錯誤。

備註

圖說文字驅動程式會呼叫 FwpsCalloutRegister2 函式,以向篩選引擎註冊圖說文字。 圖說文字驅動程式可以隨時向篩選引擎註冊圖說文字,即使篩選引擎目前未執行也一樣。

在圖說文字驅動程式向篩選引擎註冊圖說文字之前,可以新增篩選動作的圖說文字和篩選條件。 在此情況下,動作類型為 FWP_ACTION_CALLOUT_TERMINATINGFWP_ACTION_CALLOUT_UNKNOWN 的篩選會被視為 FWP_ACTION_BLOCK,而且會忽略具有動作類型的篩選 FWP_ACTION_CALLOUT_INSPECTION ,直到圖說文字向篩選引擎註冊為止。

圖說文字驅動程式會藉由呼叫 ,從篩選引擎取消註冊圖說文字 FwpsCalloutUnregisterById0 函式或 FwpsCalloutUnregisterByKey0 函式。 除非先前向篩選引擎註冊的所有圖說文字已成功取消註冊,否則無法卸除圖說文字驅動程式。

此函式基本上與舊版 FwpsCalloutRegister1 相同。 唯一的差異在於圖說參數所指向的更新FWPS_CALLOUT2結構。

規格需求

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

另請參閱

建立裝置物件

FWPS_CALLOUT2

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

圖說文字的類型

flowDeleteFn