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