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。 可能的錯誤傳回值包括下列狀態代碼。
傳回值 | 描述 |
---|---|
|
表示此處理器未實作 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