共用方式為


FwpsPendOperation0 函式 (fwpsk.h)

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

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

語法

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

參數

[in] completionHandle

筆跡目前篩選作業所需的完成句柄。 此參數是從傳遞至圖說驅動程式 classifyFn 函式之 FWPS_INCOMING_METADATA_VALUES0 結構 成員 completionHandle 取得。

[out] completionContext

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

傳回值

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

傳回碼 描述
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,並將 旗標 成員設定為 FWPS_CLASSIFY_OUT_FLAG_ABSORB。

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

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

要求

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

另請參閱

FWPS_CLASSIFY_OUT0

FWPS_INCOMING_METADATA_VALUES0

FwpsCompleteOperation0

分類Fn