共用方式為


POFXCALLBACKPLATFORMIDLEVETO 回呼函式 (pep_x.h)

PlatformIdleVeto 例程會遞增或遞減平台閑置狀態之 veto 程式代碼的 veto 計數。

語法

POFXCALLBACKPLATFORMIDLEVETO Pofxcallbackplatformidleveto;

NTSTATUS Pofxcallbackplatformidleveto(
  [in] POHANDLE ProcessorHandle,
  [in] ULONG PlatformState,
  [in] ULONG VetoReason,
  [in] BOOLEAN Increment
)
{...}

參數

[in] ProcessorHandle

POHANDLE 值,表示將處理器 (註冊為具有 電源管理架構 的裝置) , (PoFx) 。 平台擴充功能外掛程式 (PEP) 先前在通知通知中通知 PEP 已向 PoFx 註冊處理器的 PEP_DPM_REGISTER_DEVICE期間收到 此句柄。

[in] PlatformState

平台閑置狀態的索引,其 veto 計數正在遞增或遞減。 PEP 先前已指定支援的平臺閑置狀態,以回應 PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES 通知。 如果 PEP 指定的 N 平台閒置狀態,有效的平臺閒置狀態索引範圍從 0 到 N–1。

[in] VetoReason

PEP 定義的 veto 程式代碼,指出無法輸入平台閑置狀態的原因。 PEP 先前指定了回應 PEP_NOTIFY_PPM_QUERY_VETO_REASONS 通知的支援 veto 原因數目。 如果 PEP 指定的 M veto 原因,有效的 veto 代碼範圍從 1 到 M。

[in] Increment

是否要遞增或遞減 veto 計數。 設定為 TRUE 可遞增此 veto 原因的 veto 計數,或設定為 FALSE 以遞減計數。

傳回值

如果呼叫成功遞增或遞減 veto 計數,PlatformIdleVeto 會傳回STATUS_SUCCESS。 可能的錯誤傳回值包括下列狀態代碼。

傳回值 描述
STATUS_NOT_IMPLEMENTED
表示此處理器未實作 PlatformIdleVeto 例程。

備註

此例程是由 PoFx 實作,並由 PEP 呼叫。 PEP_KERNEL_INFORMATION_STRUCT_V3 結構的 PlatformIdleVeto 成員是 PlatformIdleVeto 例程的指標。

在 PEP 處理 PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES 通知之後,每個平臺閑置狀態都會以所有 veto 代碼的 veto 計數為零開始。 PEP 可以遞增 veto 程式代碼的 Veto 計數,以防止操作系統將平臺轉換為這個閑置狀態。 當造成計數遞增的 veto 原因不再生效時,PEP 會遞減 veto 計數。 只有在所有 Veto 代碼的計數已遞減為零之後,操作系統才允許將平臺轉換為此閑置狀態。

這個例程必須在 IRQL = PASSIVE_LEVEL呼叫。

規格需求

需求
最低支援的用戶端 從Windows 10 開始支援。
目標平台 Windows
標頭 pep_x.h (包含 Pep_x.h)
IRQL PASSIVE_LEVEL

另請參閱

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS