共用方式為


FwpsPendOperation0 函式 (fwpsk.h)

FwpsPendOperation0 函式是由圖說文字呼叫,以暫停封包處理擱置完成的另一項作業。

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

語法

NTSTATUS FwpsPendOperation0(
  [in]  HANDLE completionHandle,
  [out] HANDLE *completionContext
);

參數

[in] completionHandle

傳送目前篩選作業所需的完成句柄。 這個參數是從傳遞至圖說驅動程序分類Fn 函式之FWPS_INCOMING_METADATA_VALUES0結構的 completionHandle 成員取得。

[out] completionContext

這個畫筆作業完成內容的句柄。 當圖說文字準備好繼續封包處理時,它會使用此參數的值呼叫 FwpsCompleteOperation0 函式做為輸入 completionContext 參數。

傳回值

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

傳回碼 Description
STATUS_SUCCESS
封包處理已成功畫筆。
STATUS_FWP_CANNOT_PEND
重新授權分類作業中對 FwpsPendOperation0 進行呼叫。 如需詳細資訊,請參閱<備註>。
STATUS_FWP_NULL_POINTER
一或多個參數無效。
STATUS_FWP_TCPIP_NOT_READY
TCP/IP 網路堆疊尚未準備好允許此作業。
其他狀態代碼
發生錯誤。

備註

圖說文字應該會保留 completionContext 參數值,直到它繼續封包處理為止。 當提示呼叫此函式的作業完成時,圖說文字應該呼叫 FwpsCompleteOperation0 函式,並傳遞 completionContext 參數值。

圖說文字只能呼叫此函式,以畫筆來自FWPM_LAYER_ALE_RESOURCE_ASSIGNMENT_ Xxx、FWPM_LAYER_ALE_AUTH_LISTEN_ Xxx 或FWPM_LAYER_ALE_AUTH_CONNECT_ Xxx篩選層的封包。 當圖說文字必須在其中一個層級上執行處理時,圖說文字可以在封包上畫上目前的處理作業,此層可能需要很長的間隔才能完成,或者如果目前的 IRQL PASSIVE_LEVEL,則應該會在 IRQL > = PASSIVE_LEVEL發生。

若要完成先前在 FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_ Xxx 層畫筆的連線,圖說文字驅動程式必須重新檢視該層複製的封包,以及呼叫 FwpsCompleteOperation0 函式。

為了能夠畫筆封包處理,圖說文字驅動程式的 classifyFn 函式應該將FWPS_CLASSIFY_OUT0結構的 actionType 成員設定為 FWP_ACTION_BLOCK,並將 Flags 成員設定為 FWPS_CLASSIFY_OUT_FLAG_ABSORB。

FwpsCompleteOperation0 函式執行之後,會重新驗證畫筆連線。 如果允許,則會藉由完成交握作業來建立 TCP 連線,但非 TCP 連線只會建立狀態專案。 當 FwpsPendOperation0 函式完成時,任何畫筆封包數據都會從記憶體中排清,因此應用程式必須在 FwpsCompleteOperation0 執行之後重新傳輸這些封包。 圖說文字可以緩衝處理這類數據,並代表其重新檢視數據。

只有初始應用層強制執行 (ALE) 流程授權可以藉由呼叫 FwpsPendOperation0FwpsCompleteOperation0 來延後。 如果重新授權 ALE 流程,則會設定FWP_CONDITION_FLAG_IS_REAUTHORIZE旗標。 從 FWPM_LAYER_ALE_AUTH_CONNECT_ Xxx 或 FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_ Xxx篩選層呼叫 FwpsPendOperation0 將會失敗,如果已設定FWP_CONDITION_FLAG_IS_REAUTHORIZE旗標,則會傳回STATUS_FWP_CANNOT_PEND狀態代碼。 如需詳細資訊,請參閱 Windows SDK 中的 ALE 重新授權。

規格需求

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

另請參閱

FWPS_CLASSIFY_OUT0

FWPS_INCOMING_METADATA_VALUES0

FwpsCompleteOperation0

classifyFn