Condividi tramite


Notifiche di risparmio energia del processore (PPM)

Ogni notifica di risparmio energia del processore (PPM) che la routine di callback AcceptProcessorNotification di PEP viene accompagnata da un parametro Di notifica che indica il tipo di notifica e un parametro Data che punta a una struttura di dati che contiene le informazioni per il tipo di notifica specificato.

In questa chiamata il parametro Notifica è impostato su un valore costante PEP_NOTIFY_PPM_XXX che indica il tipo di notifica. Il parametro Data punta a un tipo di struttura PEP_PPM_XXX associato a questo tipo di notifica.

Gli ID di notifica del processore (PPM) seguenti vengono usati dalla routine di callback AcceptProcessorNotification.

PEP_NOTIFY_PPM_QUERY_CAPABILITIES

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_CAPABILITIES.

Dati

Puntatore a una struttura PEP_PPM_QUERY_CAPABILITIES.

Osservazioni:

Informa il PEP che viene sottoposto a query per le funzionalità di risparmio energia del PEP.

Il framework di gestione energia di Windows (PoFx) invia questa notifica quando il PEP viene sottoposto a query per le funzionalità di risparmio energia. Ciò avviene al momento dell'inizializzazione del processore e verrà inviato per ogni processore nel sistema.

Le piattaforme con processori x86/AMD64 devono usare interfacce ACPI per il controllo delle prestazioni del processore.

Per inviare una notifica di PEP_NOTIFY_PPM_QUERY_CAPABILITIES, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Di notifica è PEP_NOTIFY_PPM_QUERY_CAPABILITIES e il parametro Data punta a una struttura PEP_PPM_QUERY_CAPABILITIES.

Per una notifica di PEP_NOTIFY_PPM_QUERY_CAPABILITIES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES

Notifica

Valore PEP_NOTIFY_PPM_QUERY_IDLE_STATES.

Dati

Puntatore a una struttura PEP_PPM_QUERY_IDLE_STATES.

Osservazioni:

Informa il PEP sugli stati inattive.

Per inviare una notifica di PEP_NOTIFY_PPM_QUERY_IDLE_STATES, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Di notifica è PEP_NOTIFY_PPM_QUERY_IDLE_STATES e il parametro Data punta a una struttura di PEP_PPM_QUERY_IDLE_STATES.

Per una notifica PEP_NOTIFY_PPM_QUERY_IDLE_STATES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_SELECT

Notifica

Valore PEP_NOTIFY_PPM_IDLE_SELECT.

Dati

Puntatore a una struttura PEP_PPM_IDLE_SELECT.

Osservazioni:

Informa il PEP della selezione inattiva.

Per inviare una notifica di PEP_NOTIFY_PPM_IDLE_SELECT, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Di notifica è PEP_NOTIFY_PPM_IDLE_SELECT e il parametro Data punta a una struttura PEP_PPM_IDLE_SELECT.

Per una notifica di PEP_NOTIFY_PPM_IDLE_SELECT, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_CANCEL

Notifica

Valore PEP_NOTIFY_PPM_IDLE_CANCEL.

Dati

Puntatore a una struttura PEP_PPM_IDLE_CANCEL.

Osservazioni:

Informa il PEP di un'azione di annullamento.

Per inviare una notifica di PEP_NOTIFY_PPM_IDLE_CANCEL, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Di notifica è PEP_NOTIFY_PPM_IDLE_CANCEL e il parametro Data punta a una struttura PEP_PPM_IDLE_CANCEL.

Per una notifica PEP_NOTIFY_PPM_IDLE_CANCEL, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_EXECUTE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_IDLE_EXECUTE.

Dati

Puntatore a una struttura PEP_PPM_IDLE_EXECUTE o PEP_PPM_IDLE_EXECUTE_V2.

Osservazioni:

Inviato a PEP per passare il processore corrente allo stato di inattività specificato.

Il framework di gestione power di Windows (PoFx) invia questa notifica al PEP per eseguire la transizione del processore corrente allo stato di inattività specificato.

Il PEP può preparare l'hardware per immettere lo stato di inattività selezionato in precedenza, inclusa la notifica al sistema operativo delle risorse di sistema di base che potrebbero essere interessate dalla transizione di sospensione. Deve quindi eseguire l'istruzione di arresto per eseguire la transizione del processore allo stato inattiva. Al ritorno dallo stato inattiva, il PEP deve annullare l'installazione dell'hardware, inclusa la notifica al sistema operativo delle risorse di sistema di base che potrebbero diventare attive alla riattivazione. Se il PEP non è in grado di eseguire lo stato di inattività del processore (e della piattaforma), deve restituire uno stato di errore.

Quando si usa l'interfaccia dello stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_EXECUTE_V2 che include i campi CoordinatedStateCount e CoordinatedState con l'elenco di stati di inattività coordinati che verranno immessi dalla transizione inattiva. Il campo PlatformState specifica lo stato di inattività più profondo della piattaforma coordinata immesso, se presente.

Quando non si usa l'interfaccia di stato inattiva coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_EXECUTE.

Per una notifica PEP_NOTIFY_PPM_IDLE_EXECUTE, la routine AcceptProcessorNotification viene chiamata con interruzioni disabilitate.

PEP_NOTIFY_PPM_IDLE_COMPLETE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione.

Notifica

Valore PEP_NOTIFY_PPM_IDLE_COMPLETE.

Dati

Puntatore a una struttura PEP_PPM_IDLE_COMPLETE o PEP_PPM_IDLE_COMPLETE_V2.

Osservazioni:

Informa il PEP che il processore corrente viene svegliato da una transizione inattiva completata.

Il framework di gestione energia di Windows (PoFx) invia questa notifica quando il processore corrente viene riattivato da una transizione inattiva completata. Se la piattaforma esegue una transizione inattiva della piattaforma, il primo processore da riattivare indicherà lo stato inattivo della piattaforma che viene chiuso. A seconda del tipo di sincronizzazione usato nella transizione inattiva della piattaforma, il primo processore a riattivare da uno stato di inattività della piattaforma potrebbe non essere il processore che ha immesso lo stato di inattività della piattaforma.

Se il processore esegue uno stato di inattività profondo, il PEP non deve attendere finché non riceve la notifica completa per ripristinare il contesto di base o notificare al sistema operativo che sono state ripristinate le risorse principali. Il sistema operativo prevede che queste risorse siano state ripristinate dopo il completamento della notifica di esecuzione. Quando l'hypervisor è abilitato, il PEP riceverà questa notifica solo all'uscita da uno stato di inattività della piattaforma e con il campo ProcessorState impostato su PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Quando si usa l'interfaccia di stato inattiva coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_COMPLETE_V2 che include i campi CoordinatedStateCount e CoordinatedState con l'elenco degli stati di inattività coordinati che verranno usciti dalla transizione inattiva. Il campo PlatformState specifica lo stato di inattività più profondo della piattaforma coordinata che viene chiuso, se presente. Si noti che il set di stati di inattività coordinati usciti da questo processore può essere diverso dal set di stati di inattività coordinati immessi da esso, se viene usata la sincronizzazione libera.

Quando non si usa l'interfaccia di stato inattiva coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_COMPLETE.

Per una notifica PEP_NOTIFY_PPM_IDLE_COMPLETE, la routine AcceptProcessorNotification viene chiamata con interruzioni disabilitate e viene sempre eseguita nel processore di destinazione.

PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED.

Dati

Puntatore a una struttura PEP_PPM_IS_PROCESSOR_HALTED.

Osservazioni:

Inviato a PEP per determinare se il processore specificato è attualmente arrestato nello stato di inattività selezionato.

Il framework di gestione power di Windows (PoFx) invia questa notifica al PEP per determinare se il processore specificato è attualmente arrestato nello stato di inattività selezionato. Il sistema operativo userà questa notifica per verificare se un processore secondario ha completato completamente la transizione all'inattività durante il coordinamento degli stati di inattività della piattaforma. Il PEP deve garantire che il processore di destinazione abbia raggiunto uno stato in cui la transizione inattiva della piattaforma può verificarsi in modo sicuro (ad esempio, controllando i registri hardware per verificare se il core viene arrestato). Una volta che questa notifica indica che il processore si trova in uno stato inattiva, tale processore non deve riattivarsi a meno che il sistema operativo non lo richieda in modo esplicito.

Il PEP può ricevere questa notifica in qualsiasi momento tra le notifiche di IDLE_SELECT e IDLE_COMPLETE. È garantito ricevere questa notifica al massimo una volta durante una transizione inattiva.

Per una notifica PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED, la routine AcceptProcessorNotification viene chiamata in qualsiasi irQL e con interruzioni disabilitate, in qualsiasi irQL e non viene mai eseguita nel processore di destinazione.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_INITIATE_WAKE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione.

Notifica

Valore PEP_NOTIFY_PPM_INITIATE_WAKE.

Dati

Puntatore a una struttura.

Osservazioni:

Inviato a PEP per un processore specificato per avviare la riattivazione da uno stato di inattività non interrotto.

Il framework di gestione power di Windows (PoFx) invia questa notifica al PEP per un processore specificato per avviare la riattivazione da uno stato inattivi non interrotto. Il PEP deve restituire lo stato di riattivazione per il processore di destinazione usando NeedInterruptForCompletion. Restituisce TRUE se il processore richiede un interruzione per terminare la riattivazione dallo stato inattiva. In questo caso, il PEP deve assicurarsi che il processore di destinazione sia interrotto dalla gestione di questa notifica. Se il processore di destinazione è già in esecuzione e/o chiuderà lo stato inattiva (e si trova nel processo di esecuzione) senza richiedere alcun interruzione generato dal software, NeedInterruptForCompletion deve essere impostato su FALSE.

Nota Il PEP non riceverà questa notifica per lo stesso processore simultaneamente.

Per una notifica PEP_NOTIFY_PPM_INITIATE_WAKE, la routine AcceptProcessorNotification viene chiamata in qualsiasi IRQL, con interruzioni disabilitate e non viene mai eseguita nel processore di destinazione.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS.

Dati

Puntatore a una struttura PEP_PPM_QUERY_FEEDBACK_COUNTERS.

Osservazioni:

Informa il PEP che il PEP viene sottoposto a query per l'elenco di contatori di feedback supportati.

Il framework di gestione energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire query su PEP per l'elenco di contatori di feedback supportati.

Per una notifica PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_FEEDBACK_READ

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_FEEDBACK_READ.

Dati

Puntatore a una struttura PEP_PPM_FEEDBACK_READ.

Osservazioni:

Informa il PEP che viene eseguito una query per il valore corrente di un contatore di feedback.

Il framework di gestione energia di Windows (PoFx) invia questa notifica quando si vuole eseguire una query sul valore corrente di un contatore di feedback.

Questa notifica può essere inviata con interruzioni disabilitate. Se il campo Affinità del contatore è impostato, questa notifica viene eseguita nel processore di destinazione. In caso contrario, questa notifica può essere eseguita da qualsiasi processore.

Per una notifica PEP_NOTIFY_PPM_FEEDBACK_READ, è possibile chiamare la routine AcceptProcessorNotification in IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES.

Dati

Puntatore a una struttura PEP_PPM_QUERY_PERF_CAPABILITIES.

Osservazioni:

Informa il PEP che viene eseguito una query per gli intervalli di prestazioni supportati dalla piattaforma.

Il framework di gestione power di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire query negli intervalli di prestazioni supportati dalla piattaforma. I campi DomainId e DomainMembers della struttura PEP_PPM_QUERY_PERF_CAPABILITIES vengono usati per esprimere i domini dello stato delle prestazioni alla piattaforma. Ogni processore è un membro di un dominio dello stato delle prestazioni. Il sistema operativo garantisce che tutti i processori in un dominio delle prestazioni cambiano insieme.

Per una notifica PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_CONSTRAINTS

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione.

Notifica

Valore PEP_NOTIFY_PPM_PERF_CONSTRAINTS.

Dati

Puntatore a una struttura PEP_PPM_PERF_CONSTRAINTS.

Osservazioni:

Informa il PEP che viene eseguito una query per i vincoli operativi correnti del processore.

Il framework di gestione power di Windows (PoFx) invia questa notifica quando vuole controllare i vincoli operativi correnti del processore. Il PEP avvia una richiesta per il sistema operativo di rivalutare i vincoli perf del processore eseguendo un controllo energia con il codice di controllo GUID_PPM_PERF_CONSTRAINT_CHANGE. InBuffer e OutBuffer devono essere NULL.

Il PEP deve attendere finché non riceve una notifica di PEP_DPM_DEVICE_STARTED per un processore prima di inviare una transazione di controllo energia per il processore.

Per una notifica PEP_NOTIFY_PPM_PERF_CONSTRAINTS, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_SET

Questa notifica informa il PEP che le prestazioni operative correnti del processore devono essere modificate.

Di seguito vengono descritti i parametri in AcceptProcessorNotification.

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_PERF_SET.

Dati

Puntatore a una struttura PEP_PPM_PERF_SET .

Osservazioni:

Il framework di gestione energia di Windows (PoFx) invia questa notifica quando vuole modificare le prestazioni operative correnti del processore. Questa notifica può essere inviata durante l'esecuzione in qualsiasi processore.

Per una notifica PEP_NOTIFY_PPM_PERF_SET, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PARK_SELECTION

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_PARK_SELECTION.

Dati

Puntatore a una struttura di PEP_PPM_PARK_SELECTION.

Osservazioni:

Informa il PEP che il sistema operativo vuole selezionare un set preferito di core del processore per il parco.

Il framework di gestione energia di Windows (PoFx) invia questa notifica per indicare a PEP di selezionare un set preferito di core da parcheggiare.

Il PEP_NOTIFY_PPM_PARK_SELECTION è stato sovraccaricato per eseguire due funzioni:

Consente al PEP di selezionare quali processori (dal set di tutti i processori nel sistema) devono essere parcheggiati e che devono essere non parcheggiati. Consente al PEP di selezionare quali processori (dal set di tutti i processori non impostati) devono ricevere interruzioni e che non devono ricevere interruzioni. Windows non fornisce un mezzo per il PEP per distinguere quale dei due sistemi operativi sta eseguendo. Di conseguenza, quando il PEP riceve questa notifica con un determinato set di input (Conteggio aggiuntivoUnparkedProcessors e PoPreference), deve fornire un output coerente (PepPreference) a meno che alcuni eventi esterni non causano una modifica della preferenza PEP.

Per una notifica PEP_NOTIFY_PPM_PARK_SELECTION, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_CST_STATES

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_CST_STATES.

Dati

Puntatore a una struttura PEP_PPM_CST_STATES.

Osservazioni:

Inviato al PEP per indicare il set di stati C definiti dall'ACPI supportati dal processore.

Il framework di gestione power di Windows (PoFx) invia questa notifica al PEP per indicare il set di stati C definiti da ACPI supportati dal processore. Questa notifica verrà inviata una volta prima della prima volta che il PEP riceve PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 notifica per un processore e ancora una volta che il processore riceve una Notifica (0x81) che indica che l'oggetto _CST è stato modificato.

Per una notifica PEP_NOTIFY_PPM_CST_STATES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Dati

Puntatore a una struttura PEP_PPM_QUERY_PLATFORM_STATES.

Osservazioni:

Inviato all'inizializzazione del processore per eseguire una query sul numero di inattività della piattaforma indica che il PEP supporta.

Il framework di gestione power di Windows (PoFx) invia questa notifica al PEP all'inizializzazione del processore per eseguire query sul numero di stati inattivi della piattaforma supportati. Questa notifica viene inviata una volta all'avvio. Dopo aver restituito un numero diverso da zero di stati della piattaforma, il PEP può quindi iniziare a selezionare stati di inattività della piattaforma durante le transizioni inattive del processore.

Per una notifica PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_LP_SETTINGS

Notifica

Valore PEP_NOTIFY_PPM_QUERY_LP_SETTINGS.

Dati

Puntatore a una struttura PEP_PPM_QUERY_LP_SETTINGS.

Osservazioni:

Per inviare una notifica di PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, PoFx chiama la routine di callback AcceptProcessorNotification di PEP. In questa chiamata il valore del parametro Di notifica è PEP_NOTIFY_PPM_QUERY_LP_SETTINGS e il parametro Data punta a una struttura PEP_PPM_QUERY_LP_SETTINGS.

Per una notifica PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2.

Dati

Puntatore a una struttura PEP_PPM_QUERY_IDLE_STATES_V2.

Osservazioni:

Usato all'inizializzazione del processore per eseguire query sull'elenco degli stati inattive supportati da PEP.

Il framework di gestione power di Windows (PoFx) invia questa notifica al PEP all'inizializzazione del processore per eseguire una query sull'elenco degli stati inattivi supportati.

Il membro Count specifica le dimensioni della matrice di stato inattiva. Il driver del processore eseguirà una query sul numero di stati inattive con PEP_NOTIFY_PPM_QUERY_CAPABILITIES prima di inviare questa notifica.

Il PEP riempie la matrice IdleStates con informazioni su ogni stato di inattività supportato. Gli stati inattive devono essere elencati in ordine di riduzione del consumo di energia/aumento del costo di transizione. Il PEP non è necessario per segnalare lo stesso elenco di stati inattive per ogni processore.

Per una notifica di PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Dati

Puntatore a una struttura PEP_PPM_QUERY_PLATFORM_STATE.

Osservazioni:

Inviato al PEP per eseguire una query sulle proprietà di un singolo stato di inattività della piattaforma.

Il framework di gestione power di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire query sulle proprietà di un singolo stato di inattività della piattaforma.

Il parametro StateIndex della struttura PEP_PPM_QUERY_PLATFORM_STATE specifica l'indice dello stato di inattività della piattaforma sottoposto a query. Il driver del processore eseguirà una query sul numero di stati di inattività della piattaforma supportati con PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES prima di inviare questa notifica. Il driver del processore invierà quindi una notifica PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE per ogni stato di inattività della piattaforma. Il driver del processore attenderà l'invio di questa notifica fino a quando tutti i processori sono stati registrati con il PEP.

Il PEP riempie la struttura state con informazioni sullo stato di inattività della piattaforma. Gli stati di inattività della piattaforma devono essere elencati in ordine di riduzione del consumo di energia/aumento dei costi di transizione.

Per una notifica PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_TEST_IDLE_STATE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_TEST_IDLE_STATE.

Dati

Puntatore a una struttura PEP_PPM_TEST_IDLE_STATE.

Osservazioni:

Usato per verificare se lo stato di inattività del processore e della piattaforma specificato può essere immesso nel processore specificato.

Il framework di gestione power di Windows (PoFx) invia questa notifica per verificare se lo stato di inattività del processore e della piattaforma specificato può essere immesso nel processore specificato. Se lo stato di inattività può essere immesso, il PEP riempie il codice veto PEP_IDLE_VETO_NONE e completa la transizione inattiva. Se non è possibile completare la transizione inattiva per qualche motivo, il PEP riempie un codice senza veto.

I codici Veto importanti nell'intervallo 0x80000000 da 0xffffffff sono riservati per l'uso del sistema operativo e potrebbero non essere usati.

Quando questa notifica viene inviata, il sistema operativo ha già convalidato che siano stati soddisfatti tutti i vincoli associati al processore selezionato o allo stato di inattività della piattaforma, inclusi i vincoli del dispositivo e del processore per una transizione inattiva della piattaforma.

Questa notifica verrà inviata prima che il sistema operativo tenti di immettere qualsiasi stato di inattività del processore o della piattaforma, ad eccezione dello stato di inattività del processore con indice 0, che deve sempre essere immesso. Il completamento di questa notifica con PEP_IDLE_VETO_NONE non garantisce che il sistema operativo immetta lo stato di inattività indicato. Questa notifica viene inviata con interrupt disabilitati. Questa notifica viene sempre eseguita nel processore di destinazione.

Per una notifica di PEP_NOTIFY_PPM_TEST_IDLE_STATE, la routine AcceptProcessorNotification viene chiamata con interrupt disabilitati.

PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE.

Dati

Puntatore a una struttura PEP_PPM_IDLE_EXECUTE o PEP_PPM_IDLE_EXECUTE_V2.

Osservazioni:

Inviato al PEP per preparare il sistema per la transizione allo stato di inattività specificato.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica al PEP per preparare il sistema alla transizione allo stato di inattività specificato. Al termine di questa notifica, il sistema operativo eseguirà la transizione del processore inattiva immettendo lo stato C associato. Se il PEP non è in grado di preparare il sistema per entrare nello stato di inattività del processore (e della piattaforma), deve restituire uno stato di errore.

Quando l'hypervisor è abilitato, il pep riceverà questa notifica solo all'ingresso in uno stato di inattività della piattaforma e con il campo ProcessorState impostato su PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Quando si usa l'interfaccia di stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_EXECUTE_V2 che include i campi CoordinatedStateCount e CoordinatedState con l'elenco di stati di inattività coordinati che verranno immessi dalla transizione inattiva. Il campo PlatformState specifica lo stato di inattività più profondo della piattaforma coordinata immesso, se presente.

Quando non si usa l'interfaccia di stato di inattività coordinata, il sistema operativo usa la struttura PEP_PPM_IDLE_EXECUTE.

Per una notifica di PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE, la routine AcceptProcessorNotification viene chiamata con interrupt disabilitati e viene sempre eseguita nel processore di destinazione.

PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.

Dati

Puntatore a una struttura PEP_PPM_QUERY_PLATFORM_STATE.

Osservazioni:

Informa il PEP che un processore ha ricevuto Notify(0x81) per aggiornare le caratteristiche di uno stato di inattività della piattaforma.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica quando un processore ha ricevuto Notify(0x81) per aggiornare le caratteristiche di uno stato di inattività della piattaforma. Questa notifica viene inviata una volta per ogni stato di inattività della piattaforma. Se il PEP non accetta la notifica (ad esempio, restituisce FALSE dal callback AcceptProcessorNotification), la definizione precedente dello stato di inattività della piattaforma, dalla notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE o PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE accettata più di recente, viene mantenuta.

Questa notifica usa lo stesso buffer di dati della notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Per una notifica di PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES.

Dati

Puntatore a una struttura PEP_PPM_PLATFORM_STATE_RESIDENCIES.

Osservazioni:

Informa il PEP che deve acquisire il tempo accumulato effettivo trascorso in ogni stato di inattività della piattaforma dall'avvio.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica al PEP per acquisire il tempo accumulato effettivo trascorso in ogni stato di inattività della piattaforma dall'avvio. Di conseguenza, questa query è applicabile solo alle piattaforme in cui l'hardware sottostante può decidere autonomamente di immettere uno stato di inattività della piattaforma diverso da quello richiesto dal sistema operativo. I valori restituiti vengono usati per scopi diagnostici e identificano quando la visualizzazione del sistema operativo della residenza dello stato inattivo della piattaforma differisce in modo significativo da quello che ha effettivamente ottenuto la piattaforma.

Count specifica il numero di elementi nella matrice States, in cui l'indice dell'elemento corrisponde all'indice di stato di inattività della piattaforma. Il PEP riempirà ogni elemento con il conteggio effettivo di residenza e transizione dello stato corrispondente.

Nota I valori accumulati acquisiti da questa query devono corrispondere solo a quei periodi in cui il PEP (o il driver del processore) ha effettivamente eseguito una transizione di stato inattiva della piattaforma. Ciò garantisce che il confronto tra la residenza calcolata del sistema operativo e la residenza effettiva sia significativa.

Per una notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES, è possibile chiamare la routine AcceptProcessorNotification in qualsiasi IRQL.

PEP_NOTIFY_PPM_QUERY_VETO_REASONS

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_VETO_REASONS.

Dati

Puntatore a una struttura PEP_PPM_QUERY_VETO_REASONS.

Osservazioni:

Usato per eseguire una query sul numero di motivi di veto univoci usati dal PEP nei callback ProcessorIdleVeto e PlatformIdleVeto.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire una query sul numero di motivi di veto univoci usati dal PEP nei callback ProcessorIdleVeto e PlatformIdleVeto. Questa notifica è facoltativa e può essere ignorata dal PEP.

Se accettato, il PEP può usare i motivi di veto tra 1 e VetoReasonCount, inclusivo, per veto qualsiasi processore, piattaforma o stato di inattività coordinato. Il PEP non può usare motivi di veto maggiori di VetoReasonCount. Il sistema operativo pre-allocherà le strutture di rilevamento dei veto e, se usato con PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, garantisce che tutti i callback di tipo processore, piattaforma e stato coordinato avranno esito positivo.

Se questa notifica non viene accettata dal PEP, il PEP può usare i callback ProcessorIdleVeto e PlatformIdleVeto con qualsiasi motivo di veto legale. Il sistema operativo non garantisce che i callback non avranno esito negativo a causa di errori di allocazione o altri problemi.

Per una notifica di PEP_NOTIFY_PPM_QUERY_VETO_REASONS, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_VETO_REASON

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_VETO_REASON.

Dati

Puntatore a una struttura PEP_PPM_QUERY_VETO_REASON.

Osservazioni:

Inviato al PEP per richiedere informazioni su un motivo di veto specifico.

Il framework di risparmio energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per richiedere informazioni su un motivo di veto specifico. Questa notifica viene inviata due volte per ogni motivo di veto, una volta con un buffer NULLName per recuperare le dimensioni di allocazione necessarie per Name e una volta con un buffer non NULLName per inserire il contenuto di Name. Il nome deve essere una stringa leggibile che indica quale condizione rappresenta questo motivo di veto. Gli strumenti di debug, ad esempio WPA e il debugger del kernel, visualizzeranno Il nome durante la diagnosi del motivo per cui non è stato immesso uno stato di inattività.

Per una notifica di PEP_NOTIFY_PPM_QUERY_VETO_REASON, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non ha come destinazione un processore specifico, sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES.

Dati

Valore del puntatore NULL.

Osservazioni:

Informa il PEP che il sistema operativo è pronto ad accettare chiamate a ProcessorIdleVeto o PlatformIdleVeto.

Il framework di gestione power di Windows (PoFx) invia questa notifica dopo l'inizializzazione del processore, ma prima della prima voce inattiva per indicare che il sistema operativo è pronto per accettare chiamate a ProcessorIdleVeto o PlatformIdleVeto. Il PEP può enumerare qualsiasi veto di avvio nel contesto di questa notifica e il sistema operativo garantisce che avranno effetto prima del primo tentativo di selezionare un processore, una piattaforma o uno stato di inattività coordinata. Questa notifica non ha alcun parametro Data associato.

Per una notifica PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PARK_MASK

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_PARK_MASK.

Dati

Puntatore a una struttura PEP_PPM_PARK_MASK.

Osservazioni:

Informa il PEP della maschera di parcheggio principale corrente.

Il framework di gestione power di Windows (PoFx) invia questa notifica in fase di esecuzione per informare il PEP della maschera di parcheggio principale corrente.

Per una notifica di PEP_NOTIFY_PPM_PARK_MASK, la routine AcceptProcessorNotification viene chiamata in IRQL = DISPATCH_LEVEL e può essere inviata durante l'esecuzione in qualsiasi processore.

PEP_NOTIFY_PPM_PARK_SELECTION_V2

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_PARK_SELECTION_V2.

Dati

Puntatore a una struttura PEP_PPM_PARK_SELECTION_V2.

Osservazioni:

Informa il PEP che il sistema operativo vuole selezionare un set preferito di core da parcheggiare o interrompere l'interruzione da. Se questa notifica non viene accettata, il sistema operativo tornerà a inviare la notifica di PEP_NOTIFY_PPM_PARK_SELECTION.

Quando si esegue l'algoritmo di controllo delle prestazioni, il sistema operativo può inviare più volte la notifica di PEP_NOTIFY_PPM_PARK_SELECTION_V2: zero o più volte per ogni classe di efficienza core all'interno di ogni dominio del parco e zero o più volte per l'interruzione dello sterzo. Per aiutare il PEP a fornire una risposta coerente al sistema operativo per un controllo delle prestazioni, il sistema operativo fornirà il timestamp basato sull'interruzione della valutazione del controllo delle prestazioni che ha richiesto la notifica. Tutte le notifiche di selezione del parco risultanti da una valutazione del controllo delle prestazioni avranno lo stesso timestamp. Si noti che i campi rimanenti (Count, AdditionalUnparkedProcessors, EvaluationType e Processori) possono variare per le notifiche inviate durante la stessa valutazione del controllo delle prestazioni, il PEP non può presupporre che rimarranno uguali.

Per una notifica PEP_NOTIFY_PPM_PARK_SELECTION, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE.

Dati

Puntatore a una struttura PEP_PPM_PERF_CHECK_COMPLETE.

Osservazioni:

Informa il PEP che la valutazione periodica del controllo delle prestazioni è stata completata.

Il framework di gestione power di Windows (PoFx) invia questa notifica in fase di esecuzione per notificare al PEP che la valutazione periodica per ogni controllo è stata completata.

Per una notifica PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE, la routine AcceptProcessorNotification viene chiamata in IRQL = DISPATCH_LEVEL e può essere inviata durante l'esecuzione in qualsiasi processore.

PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY.

Dati

Puntatore a una struttura PEP_PPM_QUERY_COORDINATED_DEPENDENCY.

Osservazioni:

Inviato a PEP per eseguire una query sulle dipendenze di ogni stato di inattività coordinata.

Il framework di gestione power di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire query su PEP per le dipendenze di ogni stato di inattività coordinata. Il sistema operativo allocherà gli elementi MaximumDependencySize per la matrice Dipendenze. Il PEP deve compilare il numero di elementi della matrice usata in DependencySizeUsed.

Se la dipendenza espressa è in un processore, PEP riempie il campo TargetProcessor con POHANDLE del processore di destinazione. Il campo ExpectedState fa quindi riferimento all'indice di uno stato inattivo del processore nel processore di destinazione.

Se la dipendenza espressa è in altri stati di inattività coordinati, PEP compila NULL per TargetProcessor. Il campo ExpectedState fa quindi riferimento all'indice di uno stato di inattività coordinata.

Ogni dipendenza elenca un menu delle opzioni che il sistema operativo può usare per soddisfare la dipendenza. Quando si passa inattiva, il sistema operativo tenterà di soddisfare la dipendenza controllando le condizioni per ognuna, dall'indice più alto all'indice più basso. Se vengono soddisfatte le condizioni per una dipendenza, il sistema operativo considererà la dipendenza soddisfatta. Se nessuna delle condizioni può essere soddisfatta, la dipendenza non viene soddisfatta e lo stato di inattività coordinata non può essere immesso.

Per una notifica PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME.

Dati

Puntatore a una struttura PEP_PPM_QUERY_STATE_NAME.

Osservazioni:

Inviato a PEP per eseguire una query su uno stato di inattività coordinata o piattaforma specifico.

Il framework di gestione energia di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire query su PEP per informazioni su uno stato di inattività coordinata o piattaforma specifico. Questa notifica viene inviata due volte per ogni stato, una volta con un buffer nome NULL per recuperare le dimensioni di allocazione necessarie per Name e una volta con un buffer non NULL Name per compilare il contenuto di Name. Il nome deve essere una stringa leggibile che indica il nome dello stato di inattività coordinato. Gli stati di inattività coordinati devono avere nomi univoci, ad eccezione dei sistemi multi-cluster, in cui i nomi di stati equivalenti in cluster diversi possono essere uguali. Gli strumenti di debug, ad esempio WPA e il debugger del kernel, visualizzeranno Il nome nella diagnostica che fa riferimento a questo stato di inattività coordinata/piattaforma.

Per una notifica PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.

Dati

Puntatore a una struttura PEP_PPM_QUERY_COORDINATED_STATES.

Osservazioni:

Usato all'inizializzazione del processore per eseguire query sulle proprietà di tutti gli stati di inattività coordinati.

Il framework di gestione energia di Windows (PoFx) invia questa notifica al PEP all'inizializzazione del processore per eseguire query sulle proprietà di tutti gli stati inattivi coordinati. Questa notifica viene inviata subito prima che il PEP abbia inviato la notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Se accettato, il PEP usa l'interfaccia di stato inattiva coordinata e non riceverà notifiche di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Se non è accettato, il PEP usa l'interfaccia dello stato inattiva della piattaforma e il sistema operativo tornerà a usare la notifica di PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE per eseguire query per gli stati di inattività coordinati.

Il sistema operativo attenderà l'invio di questa notifica fino a quando tutti i processori sono stati registrati con il PEP.

Il PEP riempie la struttura State con informazioni sugli stati di inattività coordinati.

L'ordine degli stati inattive coordinati deve seguire le regole seguenti:

Due stati coordinati che rappresentano stati di potenza diversi per la stessa unità funzionale devono essere elencati in ordine dal più chiaro (la maggior parte dei costi di alimentazione/meno transizione) al costo più profondo (minore consumo di energia/maggior parte dei costi di transizione). Gli stati di inattività coordinati possono dipendere solo da altri stati di inattività coordinati con un indice inferiore. Non è necessario un ordine tra due stati di inattività coordinati disgiunti , ovvero due stati di inattività coordinati che dipendono da set di processori disgiunti.

Per una notifica PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME.

Dati

Puntatore a una struttura PEP_PPM_QUERY_STATE_NAME.

Osservazioni:

Inviato a PEP per eseguire una query per informazioni su uno stato di inattività specifico del processore.

Il framework di gestione power di Windows (PoFx) invia questa notifica all'inizializzazione del processore per eseguire query su PEP per informazioni su uno stato di inattività specifico del processore. Questa notifica viene inviata due volte per ogni stato, una volta con un buffer nome NULL per recuperare le dimensioni di allocazione necessarie per Name e una volta con un buffer non NULL Name per compilare il contenuto di Name. Il nome deve essere una stringa leggibile che indica il nome dello stato di inattività coordinato. Gli stati di inattività coordinati devono avere nomi univoci, ad eccezione dei sistemi multi-cluster, in cui i nomi di stati equivalenti in cluster diversi possono essere uguali. Gli strumenti di debug, ad esempio WPA e il debugger del kernel, visualizzeranno Il nome nella diagnostica che fa riferimento a questo stato di inattività coordinata/piattaforma.

Per una notifica di PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME, la routine AcceptProcessorNotification viene sempre chiamata in IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE.

Dati

Puntatore a una struttura PEP_PPM_ENTER_SYSTEM_STATE.

Osservazioni:

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE è una notifica facoltativa che notifica al PEP che il sistema sta per immettere uno stato di alimentazione del sistema. Questa notifica viene inviata a tutti i processori contemporaneamente dopo che il sistema ha completato tutte le operazioni a livello passivo passando il processore allo stato di alimentazione del sistema.

Questa notifica viene inviata a DISPATCH_LEVEL, con tutti i processori all'invio. Questa notifica viene sempre eseguita sul processore di destinazione.

Nota Il PEP non deve accodarsi da questa notifica. I processori non elaborano gli elementi di lavoro, i CONTROLLER di rete e così via dopo l'invio di questa notifica.

DISPATCH_LEVEL

PEP_NOTIFY_PPM_PERF_SET_STATE

Di seguito vengono descritti i parametri in AcceptProcessorNotification.

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_PERF_SET_STATE.

Dati

Puntatore a una struttura PEP_PPM_PERF_SET_STATE .

Osservazioni:

Usato in fase di esecuzione per impostare lo stato delle prestazioni operative correnti del processore. Se il PEP ha hardware autonomo in grado di aumentare o ridurre le prestazioni senza una richiesta di set di prestazioni, deve limitare le richieste dall'hardware autonomo in base allo stato minimo delle prestazioni e/o al massimo delle prestazioni e destinazione lo stato di prestazioni desiderato. In caso contrario, deve essere eseguito esattamente allo stato di prestazioni desiderato.

Questa notifica viene inviata all'DISPATCH_LEVEL. Se gli stati di prestazioni diretti dell'utilità di pianificazione sono in uso, il PEP deve rispettare le restrizioni nella sezione 3.3.6 durante l'elaborazione di questa notifica. Può essere inviato durante l'esecuzione in qualsiasi processore.

PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES.

Dati

Puntatore a una struttura PEP_PPM_QUERY_DISCRETE_PERF_STATES. Usato all'inizializzazione del processore per eseguire query per l'elenco di prestazioni discrete indica che il PEP supporta, se la notifica PEP_NOTIFY_PPM_QUERY_CAPABILITIES indica il supporto per gli stati di prestazioni discreti.

L'elenco dello stato delle prestazioni deve essere ordinato dal più veloce al più lento, con ogni mapping dello stato delle prestazioni a un valore di prestazioni distinto. L'elenco dello stato delle prestazioni deve includere anche una voce corrispondente a ogni valore di prestazioni elencato nella notifica di PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES. Questa notifica viene inviata all'PASSIVE_LEVEL. Può essere inviato durante l'esecuzione in qualsiasi processore.

PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO.

Dati

Puntatore a una struttura PEP_PPM_QUERY_DOMAIN_INFO.

Osservazioni:

Notifica facoltativa che esegue query per informazioni su un dominio di prestazioni. Questa notifica viene inviata all'PASSIVE_LEVEL. Può essere inviato durante l'esecuzione in qualsiasi processore.

PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE

Handle

Struttura PEPHANDLE contenente l'handle del dispositivo del PEP per il processore di destinazione. Se la notifica non punta a un processore specifico, questo sarà NULL.

Notifica

Valore PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE.

Dati

Puntatore a una struttura di PEP_PPM_RESUME_FROM_SYSTEM_STATE.

Osservazioni:

Notifica facoltativa che notifica al PEP che il sistema ha appena ripreso da uno stato di alimentazione del sistema. Questa notifica viene inviata a tutti i processori simultaneamente prima che i processori vengano rilasciati per riprendere il lavoro a livello passivo. Questa notifica viene inviata a DISPATCH_LEVEL, con tutti i processori all'invio. Questa notifica viene sempre eseguita sul processore di destinazione.