共用方式為


POFXCALLBACKPLATFORMIDLEVETO 回呼函式 (pep_x.h)

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

語法

POFXCALLBACKPLATFORMIDLEVETO Pofxcallbackplatformidleveto;

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

參數

[in] ProcessorHandle

POHANDLE 值,代表使用 電源管理架構 (PoFx) 註冊處理器(裝置)。 平臺延伸模組外掛程式 (PEP) 先前在 PEP_DPM_REGISTER_DEVICE 通知中收到 PoFx 的這個句柄,通知 PEP 已向 PoFx 註冊處理器。

[in] PlatformState

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

[in] VetoReason

PEP 定義的否決程式代碼,指出為何無法輸入平臺閑置狀態。 PEP 先前指定支持否決的原因數目,以回應 PEP_NOTIFY_PPM_QUERY_VETO_REASONS 通知。 如果 PEP 指定的 M 否決原因,有效的否決碼範圍從 1 到 M。

[in] Increment

是否遞增或遞減否決計數。 設定為 TRUE 以遞增此否決理由的否決計數,或將計數遞減為 FALSE。

傳回值

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

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

言論

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

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

此例程必須在 IRQL = PASSIVE_LEVEL呼叫。

要求

要求 價值
最低支援的用戶端 從 Windows 10 開始支援。
目標平臺 窗戶
標頭 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