Condividi tramite


Funzione di callback POFXCALLBACKPLATFORMIDLEVETO (pepfx.h)

La routine PlatformIdleVeto incrementa o decrementa il conteggio dei 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 il framework di risparmio energia (PoFx). Il plug-in di estensione della piattaforma (PEP) ha ricevuto in precedenza questo handle da PoFx durante la notifica PEP_DPM_REGISTER_DEVICE 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. 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 gli stati di inattività della piattaforma N specificati da PEP, gli indici di stato di inattività della piattaforma validi vanno da 0 a 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 veto per questo motivo di veto oppure su FALSE per decrementare il conteggio.

Valore restituito

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

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

Commenti

Questa routine viene implementata da PoFx ed è 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 è decrementato 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.

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 10.
Piattaforma di destinazione Windows
Intestazione pepfx.h (include Pep_x.h)
IRQL PASSIVE_LEVEL

Vedi anche

PEP_KERNEL_INFORMATION_STRUCT_V3

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

PEP_NOTIFY_PPM_QUERY_VETO_REASONS