Condividi tramite


Funzione di callback POFXCALLBACKPLATFORMIDLEVETO (pep_x.h)

Il PlatformIdleVeto incrementa o decrementa il conteggio veto per un codice veto per uno stato di inattività della piattaforma.

Sintassi

POFXCALLBACKPLATFORMIDLEVETO Pofxcallbackplatformidleveto;

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

Parametri

[in] ProcessorHandle

Valore POHANDLE che rappresenta la registrazione del processore (come dispositivo) con framework di risparmio energia (PoFx). Il plug-in di estensione della piattaforma (PEP) ha ricevuto in precedenza questo handle da PoFx durante la PEP_DPM_REGISTER_DEVICE notifica che informava il PEP che il processore era stato registrato con PoFx.

[in] PlatformState

Indice dello stato di inattività della piattaforma il cui conteggio veto viene incrementato o decrementato. Il PEP ha specificato in precedenza gli stati di inattività della piattaforma supportati in risposta a una notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES. Se lo stato di inattività della piattaforma N specificato da PEP è valido, gli indici di stato di inattività della piattaforma validi sono compresi tra 0 e N-1.

[in] VetoReason

Codice veto definito da PEP che indica il motivo per cui non è possibile immettere lo stato di inattività della piattaforma. Il PEP ha specificato in precedenza il numero di motivi di veto supportati in risposta a una notifica di PEP_NOTIFY_PPM_QUERY_VETO_REASONS. Se il PEP ha specificato motivi di veto M, i codici di veto validi vanno da 1 a M.

[in] Increment

Indica se incrementare o decrementare il conteggio dei veto. Impostare su TRUE per incrementare il conteggio dei veti per questo motivo di veto o su FALSE per decrementare il conteggio.

Valore restituito

PlatformIdleVeto restituisce STATUS_SUCCESS se la chiamata incrementa o decrementa correttamente il conteggio dei veto. I possibili valori restituiti dall'errore includono il codice di stato seguente.

Valore restituito Descrizione
STATUS_NOT_IMPLEMENTED
Indica che la routine PlatformIdleVeto non è implementata per questo processore.

Osservazioni

Questa routine viene implementata da PoFx e viene chiamata dal PEP. Il membro PlatformIdleVeto della struttura PEP_KERNEL_INFORMATION_STRUCT_V3 è un puntatore a una routine PlatformIdleVeto.

Dopo che il PEP gestisce la notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, ogni stato di inattività della piattaforma inizia con un conteggio veto pari a zero per tutti i codici veto. Il PEP può incrementare il numero di veto di un codice veto per impedire al sistema operativo di passare la piattaforma a questo stato di inattività. Il PEP decrementa il conteggio dei veti quando il motivo del veto che ha causato l'incremento del conteggio non è più attivo. Solo dopo che il conteggio per tutti i codici veto è diminuito a zero è il sistema operativo autorizzato a eseguire la transizione della piattaforma a questo stato di inattività.

Questa routine deve essere chiamata in IRQL = PASSIVE_LEVEL.

Fabbisogno

Requisito Valore
client minimo supportato Supportato a partire da Windows 10.
piattaforma di destinazione Finestre
intestazione pep_x.h (includere Pep_x.h)
IRQL PASSIVE_LEVEL

Vedere anche

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS