PPM-Benachrichtigungen (Processor Power Management, Prozessorenergieverwaltung)
Jede PPM-Benachrichtigung (Processor Power Management), die die AcceptProcessorNotification-Rückrufroutine des PEP empfängt, wird von einem Notification-Parameter begleitet, der den Typ der Benachrichtigung angibt, und einem Data-Parameter, der auf eine Datenstruktur verweist, die die Informationen für den angegebenen Benachrichtigungstyp enthält.
In diesem Aufruf wird der Notification-Parameter auf einen PEP_NOTIFY_PPM_XXX konstanten Wert festgelegt, der den Benachrichtigungstyp angibt. Der Parameter Data verweist auf einen PEP_PPM_XXX Strukturtyp, der diesem Benachrichtigungstyp zugeordnet ist.
Die folgenden PPM-Benachrichtigungs-IDs (Processor Power Management) werden von der AcceptProcessorNotification-Rückrufroutine verwendet.
PEP_NOTIFY_PPM_QUERY_CAPABILITIES
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_CAPABILITIES.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_CAPABILITIES-Struktur.
Anmerkungen
Informiert den PEP darüber, dass er nach den Energieverwaltungsfunktionen des PEP abgefragt wird.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn pep nach seinen Energieverwaltungsfunktionen abgefragt wird. Dies geschieht zum Zeitpunkt der Prozessorinitialisierung und wird für jeden Prozessor im System gesendet.
Plattformen mit x86/AMD64-Prozessoren müssen ACPI-Schnittstellen für die Prozessorleistungssteuerung verwenden.
Um eine PEP_NOTIFY_PPM_QUERY_CAPABILITIES Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptProcessorNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_NOTIFY_PPM_QUERY_CAPABILITIES, und der Data-Parameter verweist auf eine PEP_PPM_QUERY_CAPABILITIES-Struktur.
Für eine PEP_NOTIFY_PPM_QUERY_CAPABILITIES Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_IDLE_STATES
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_IDLE_STATES.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_IDLE_STATES-Struktur.
Anmerkungen
Informiert pep über Leerlaufzustände.
Um eine PEP_NOTIFY_PPM_QUERY_IDLE_STATES Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptProcessorNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_NOTIFY_PPM_QUERY_IDLE_STATES, und der Data-Parameter verweist auf eine PEP_PPM_QUERY_IDLE_STATES-Struktur.
Für eine PEP_NOTIFY_PPM_QUERY_IDLE_STATES Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_IDLE_SELECT
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_IDLE_SELECT.
Daten
Ein Zeiger auf eine PEP_PPM_IDLE_SELECT-Struktur.
Anmerkungen
Informiert den PEP über die Auswahl im Leerlauf.
Um eine PEP_NOTIFY_PPM_IDLE_SELECT Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptProcessorNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_NOTIFY_PPM_IDLE_SELECT, und der Data-Parameter verweist auf eine PEP_PPM_IDLE_SELECT-Struktur.
Für eine PEP_NOTIFY_PPM_IDLE_SELECT Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_IDLE_CANCEL
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_IDLE_CANCEL.
Daten
Ein Zeiger auf eine PEP_PPM_IDLE_CANCEL-Struktur.
Anmerkungen
Informiert pep über eine Abbruchaktion.
Um eine PEP_NOTIFY_PPM_IDLE_CANCEL Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptProcessorNotification des PEP auf. In diesem Aufruf ist der Wert des Notification-Parameters PEP_NOTIFY_PPM_IDLE_CANCEL, und der Data-Parameter verweist auf eine PEP_PPM_IDLE_CANCEL-Struktur.
Bei einer PEP_NOTIFY_PPM_IDLE_CANCEL Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_IDLE_EXECUTE
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_IDLE_EXECUTE.
Daten
Ein Zeiger auf eine PEP_PPM_IDLE_EXECUTE- oder PEP_PPM_IDLE_EXECUTE_V2-Struktur.
Anmerkungen
Wird an pep gesendet, um den aktuellen Prozessor in den angegebenen Leerlaufzustand zu überstellen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep, um den aktuellen Prozessor in den angegebenen Leerlaufzustand zu überstellen.
Das PEP kann die Hardware so vorbereiten, dass sie in den zuvor ausgewählten Leerlaufzustand wechselt, einschließlich der Benachrichtigung des Betriebssystems über Kernsystemressourcen, die möglicherweise vom Standbymodus betroffen sind. Anschließend muss die Anweisung zum Anhalten ausgeführt werden, um den Prozessor in den Leerlaufzustand zu überführen. Nach der Rückkehr aus dem Leerlaufzustand muss pep die Hardwareeinrichtung rückgängig machen, einschließlich der Benachrichtigung des Betriebssystems über Kernsystemressourcen, die bei der Aktivierung möglicherweise aktiv wurden. Wenn pep den Prozessor (und die Plattform) im Leerlaufzustand nicht ausführen kann, muss er einen Fehler status zurückgeben.
Bei Verwendung der koordinierten Leerlaufzustandsschnittstelle verwendet das Betriebssystem die PEP_PPM_IDLE_EXECUTE_V2-Struktur, die die Felder CoordinatedStateCount und CoordinatedState mit der Liste der koordinierten Leerlaufzustände enthält, die vom Leerlaufübergang eingegeben werden. Das Feld PlatformState gibt den tiefsten, von der Plattform koordinierten Leerlaufzustand an, der (sofern vorhanden) eingegeben wird.
Wenn die koordinierte Schnittstelle für den Leerlaufzustand nicht verwendet wird, verwendet das Betriebssystem die PEP_PPM_IDLE_EXECUTE-Struktur.
Für eine PEP_NOTIFY_PPM_IDLE_EXECUTE Benachrichtigung wird die AcceptProcessorNotification-Routine mit deaktivierten Interrupts aufgerufen.
PEP_NOTIFY_PPM_IDLE_COMPLETE
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_IDLE_COMPLETE.
Daten
Ein Zeiger auf eine PEP_PPM_IDLE_COMPLETE- oder PEP_PPM_IDLE_COMPLETE_V2-Struktur.
Anmerkungen
Informiert den PEP darüber, dass der aktuelle Prozessor nach einem abgeschlossenen Leerlaufübergang aktiviert wird.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn der aktuelle Prozessor nach einem abgeschlossenen Leerlaufübergang aktiviert wird. Wenn die Plattform einen Plattform-Leerlaufübergang ausgeführt hat, gibt der erste zu reaktivierende Prozessor den Leerlaufstatus der Plattform an, der beendet wird. Abhängig von der Art der Synchronisierung, die beim Plattform-Leerlaufübergang verwendet wird, ist der erste Prozessor, der aus einem Plattform-Leerlaufzustand aktiviert wird, möglicherweise nicht der Prozessor, der in den Leerlaufzustand der Plattform gewechselt ist.
Wenn der Prozessor einen tiefen Leerlaufzustand ausgeführt hat, darf pep nicht warten, bis er die vollständige Benachrichtigung erhält, um den Kernkontext wiederherzustellen oder das Betriebssystem darüber zu benachrichtigen, dass Kernressourcen wiederhergestellt wurden. Das Betriebssystem erwartet, dass diese Ressourcen wiederhergestellt wurden, nachdem die Ausführungsbenachrichtigung abgeschlossen ist. Wenn der Hypervisor aktiviert ist, empfängt pep diese Benachrichtigung nur, wenn er aus einem Plattform-Leerlaufzustand beendet wird und das Feld ProcessorState auf PEP_PROCESSOR_IDLE_STATE_UNKNOWN festgelegt ist.
Bei Verwendung der koordinierten Schnittstelle für den Leerlaufzustand verwendet das Betriebssystem die PEP_PPM_IDLE_COMPLETE_V2-Struktur, die die Felder CoordinatedStateCount und CoordinatedState mit der Liste der koordinierten Leerlaufzustände enthält, die durch den Leerlaufübergang beendet werden. Das Feld PlatformState gibt den tiefsten, von der Plattform koordinierten Leerlaufzustand an, der (sofern vorhanden) beendet wird. Beachten Sie, dass sich der Satz koordinierter Leerlaufzustände, die von diesem Prozessor beendet werden, von den von diesem Prozessor eingegebenen koordinierten Leerlaufzuständen unterscheiden kann, wenn eine lose Synchronisierung verwendet wird.
Wenn die koordinierte Schnittstelle für den Leerlaufzustand nicht verwendet wird, verwendet das Betriebssystem die PEP_PPM_IDLE_COMPLETE-Struktur.
Für eine PEP_NOTIFY_PPM_IDLE_COMPLETE Benachrichtigung wird die AcceptProcessorNotification-Routine mit deaktivierten Interrupts aufgerufen und immer auf dem Zielprozessor ausgeführt.
PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED.
Daten
Ein Zeiger auf eine PEP_PPM_IS_PROCESSOR_HALTED-Struktur.
Anmerkungen
Wird an pep gesendet, um zu bestimmen, ob der angegebene Prozessor derzeit im ausgewählten Leerlaufzustand angehalten wird.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep, um zu bestimmen, ob der angegebene Prozessor derzeit im ausgewählten Leerlaufzustand angehalten wird. Das Betriebssystem verwendet diese Benachrichtigung, um zu überprüfen, ob ein sekundärer Prozessor den Übergang in den Leerlauf der Plattform bei der Koordinierung der Leerlaufzustände der Plattform vollständig abgeschlossen hat. Der PEP muss sicherstellen, dass der Zielprozessor einen Zustand erreicht hat, in dem der Plattform-Leerlaufwechsel sicher erfolgen kann (z. B. durch Überprüfung der Hardwareregister, um festzustellen, ob der Kern angehalten ist). Sobald diese Benachrichtigung angibt, dass sich der Prozessor in einem Leerlaufzustand befindet, darf dieser Prozessor nicht reaktiviert werden, es sei denn, das Betriebssystem fordert dies explizit an.
Der PEP kann diese Benachrichtigung jederzeit zwischen dem IDLE_SELECT und IDLE_COMPLETE Benachrichtigungen erhalten. Es ist garantiert, dass diese Benachrichtigung höchstens einmal während eines Übergangs im Leerlauf empfangen wird.
Für eine PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED Benachrichtigung wird die AcceptProcessorNotification-Routine bei jedem IRQL und mit deaktivierten Interrupts auf jedem IRQL aufgerufen und nie auf dem Zielprozessor ausgeführt.
<= HIGH_LEVEL
PEP_NOTIFY_PPM_INITIATE_WAKE
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_INITIATE_WAKE.
Daten
Ein Zeiger auf eine -Struktur.
Anmerkungen
Wird an pep für einen angegebenen Prozessor gesendet, um die Aktivierung aus einem nicht unterbrechungsfähigen Leerlaufzustand zu initiieren.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep für einen angegebenen Prozessor, um seine Aktivierung aus einem nicht unterbrechungsfähigen Leerlaufzustand zu initiieren. Der PEP muss den status der Aktivierung für den Zielprozessor mithilfe von NeedInterruptForCompletion zurückgeben. Es gibt TRUE zurück, wenn der Prozessor einen Interrupt benötigt, um das Aufwachen aus dem Leerlaufzustand zu beenden. In diesem Fall muss pep sicherstellen, dass der Zielprozessor bei der Rückkehr von der Verarbeitung dieser Benachrichtigung unterbrochen werden kann. Wenn der Zielprozessor bereits ausgeführt wird und/oder den Leerlaufzustand schließlich beendet (und gerade ausgeführt wird), ohne dass ein softwaregenerierter Interrupt erforderlich ist, sollte NeedInterruptForCompletion auf FALSE festgelegt werden.
Hinweis Der PEP empfängt diese Benachrichtigung nicht gleichzeitig für denselben Prozessor.
Für eine PEP_NOTIFY_PPM_INITIATE_WAKE Benachrichtigung wird die AcceptProcessorNotification-Routine bei jedem IRQL aufgerufen, mit deaktivierten Interrupts und nie auf dem Zielprozessor ausgeführt.
<= HIGH_LEVEL
PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_FEEDBACK_COUNTERS-Struktur.
Anmerkungen
Teilt pep mit, dass pep nach der Liste der unterstützten Feedbackindikatoren abgefragt wird.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung bei der Prozessorinitialisierung, um pep die Liste der unterstützten Feedbackindikatoren abzufragen.
Für eine PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_FEEDBACK_READ
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_FEEDBACK_READ.
Daten
Ein Zeiger auf eine PEP_PPM_FEEDBACK_READ-Struktur.
Anmerkungen
Informiert den PEP darüber, dass der aktuelle Wert eines Feedbackzählers abgefragt wird.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn es den aktuellen Wert eines Feedbackindikators abfragen möchte.
Diese Benachrichtigung kann mit deaktivierten Interrupts gesendet werden. Wenn das Affinitized-Feld des Indikators festgelegt ist, wird diese Benachrichtigung auf dem Zielprozessor ausgeführt. Andernfalls kann diese Benachrichtigung von jedem Prozessor ausgeführt werden.
Für eine PEP_NOTIFY_PPM_FEEDBACK_READ Benachrichtigung kann die AcceptProcessorNotification-Routine unter IRQL = DISPATCH_LEVEL aufgerufen werden.
PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_PERF_CAPABILITIES-Struktur.
Anmerkungen
Informiert den PEP darüber, dass er nach den von der Plattform unterstützten Leistungsbereichen abgefragt wird.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung bei der Prozessorinitialisierung, um die von der Plattform unterstützten Leistungsbereiche abzufragen. Die Felder DomainId und DomainMembers der PEP_PPM_QUERY_PERF_CAPABILITIES-Struktur werden verwendet, um Leistungszustandsdomänen an die Plattform auszudrücken. Jeder Prozessor ist Mitglied genau einer Leistungszustandsdomäne. Das Betriebssystem stellt sicher, dass alle Prozessoren in einer Leistungsdomäne die Leistung gemeinsam ändern.
Für eine PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_PERF_CONSTRAINTS
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_PERF_CONSTRAINTS.
Daten
Ein Zeiger auf eine PEP_PPM_PERF_CONSTRAINTS-Struktur.
Anmerkungen
Informiert den PEP darüber, dass die aktuellen Betriebseinschränkungen des Prozessors abgefragt werden.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn es die aktuellen Betriebseinschränkungen des Prozessors untersuchen möchte. Pep initiiert eine Anforderung an das Betriebssystem, um die Leistungseinschränkungen des Prozessors neu auszuwerten, indem ein Energiesteuerelement mit dem Steuerungscode GUID_PPM_PERF_CONSTRAINT_CHANGE ausgeführt wird. InBuffer und OutBuffer müssen NULL sein.
Der PEP muss warten, bis er eine PEP_DPM_DEVICE_STARTED Benachrichtigung für einen Prozessor erhält, bevor er eine Energiesteuerungstransaktion für den Prozessor ausgibt.
Für eine PEP_NOTIFY_PPM_PERF_CONSTRAINTS Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_PERF_SET
Diese Benachrichtigung informiert pep, dass die aktuelle Betriebsleistung des Prozessors geändert werden soll.
Im Folgenden werden die Parameter für AcceptProcessorNotification beschrieben.
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_PERF_SET.
Daten
Ein Zeiger auf eine PEP_PPM_PERF_SET-Struktur .
Anmerkungen
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn es die aktuelle Betriebsleistung des Prozessors ändern möchte. Diese Benachrichtigung kann während der Ausführung auf einem beliebigen Prozessor gesendet werden.
Für eine PEP_NOTIFY_PPM_PERF_SET Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = DISPATCH_LEVEL aufgerufen.
PEP_NOTIFY_PPM_PARK_SELECTION
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_PARK_SELECTION.
Daten
Ein Zeiger auf eine PEP_PPM_PARK_SELECTION-Struktur.
Anmerkungen
Informiert das PEP, dass das Betriebssystem eine bevorzugte Gruppe von Prozessorkernen auswählen möchte, die geparkt werden sollen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, um pep anzuweisen, einen bevorzugten Satz von Kernen auszuwählen, die abgestellt werden sollen.
Die PEP_NOTIFY_PPM_PARK_SELECTION wurde überladen, um zwei Funktionen auszuführen:
Lassen Sie den PEP auswählen, welche Prozessoren (aus der Gruppe aller Prozessoren im System) geparkt werden sollen und welche nicht geparkt werden sollen. Lassen Sie das PEP auswählen, welche Prozessoren (aus dem Satz aller Prozessoren, die nicht geparkt sind) Interrupts empfangen sollen und welche keine Interrupts empfangen sollen. Windows bietet keine Möglichkeit, mit der PEP unterscheiden kann, welches der beiden Betriebssysteme ausgeführt wird. Wenn pep diese Benachrichtigung mit einem bestimmten Satz von Eingaben empfängt (AdditionalUnparkedProcessors count and PoPreference), sollte es daher eine konsistente Ausgabe (PepPreference) bereitstellen, es sei denn, ein externes Ereignis verursacht eine Änderung der PEP-Einstellung.
Für eine PEP_NOTIFY_PPM_PARK_SELECTION Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = DISPATCH_LEVEL aufgerufen.
PEP_NOTIFY_PPM_CST_STATES
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_CST_STATES.
Daten
Ein Zeiger auf eine PEP_PPM_CST_STATES-Struktur.
Anmerkungen
Wird an den PEP gesendet, um den Satz von ACPI-definierten C-Zuständen anzugeben, die vom Prozessor unterstützt werden.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an den PEP, um den Satz von ACPI-definierten C-Zuständen anzugeben, die vom Prozessor unterstützt werden. Diese Benachrichtigung wird einmal gesendet, bevor der PEP zum ersten Mal PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 Benachrichtigung für einen Prozessor empfängt, und jedes Mal, wenn der Prozessor eine Notify(0x81) erhält, die angibt, dass sich das _CST-Objekt geändert hat.
Bei einer PEP_NOTIFY_PPM_CST_STATES Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_PLATFORM_STATES Struktur.
Anmerkungen
Wird bei der Prozessorinitialisierung gesendet, um die Anzahl der Vom PEP unterstützten Plattform-Leerlaufzustände abzufragen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an das PEP bei der Prozessorinitialisierung, um die Anzahl der unterstützten Plattform-Leerlaufzustände abzufragen. Diese Benachrichtigung wird einmal beim Start gesendet. Nachdem die Anzahl von Plattformzuständen ungleich 0 zurückgegeben wurde, kann das PEP beginnen, die Plattform-Leerlaufzustände während der Übergänge des Prozessors im Leerlauf auszuwählen.
Bei einer PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_LP_SETTINGS
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_LP_SETTINGS.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_LP_SETTINGS-Struktur.
Anmerkungen
Zum Senden einer PEP_NOTIFY_PPM_QUERY_LP_SETTINGS Benachrichtigung ruft PoFx die Rückrufroutine AcceptProcessorNotification von PEP auf. In diesem Aufruf wird der Wert des Benachrichtigungsparameters PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, und der Data-Parameter verweist auf eine PEP_PPM_QUERY_LP_SETTINGS-Struktur.
Bei einer PEP_NOTIFY_PPM_QUERY_LP_SETTINGS Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_IDLE_STATES_V2-Struktur.
Anmerkungen
Wird bei der Prozessorinitialisierung verwendet, um die Liste der Leerlaufzustände abzufragen, die vom PEP unterstützt werden.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an die PEP bei der Prozessorinitialisierung, um die Liste der unterstützten Leerlaufzustände abzufragen.
Das Count-Element gibt die Größe des Leerlaufzustandsarrays an. Der Prozessortreiber fragt die Anzahl von Leerlaufzuständen mit PEP_NOTIFY_PPM_QUERY_CAPABILITIES ab, bevor diese Benachrichtigung gesendet wird.
Das PEP füllt das IdleStates-Array mit Informationen zu jedem unterstützten Leerlaufzustand aus. Die Leerlaufzustände sollten in der Reihenfolge aufgeführt werden, in der der Energieverbrauch verringert bzw. die Übergangskosten steigen. Pep ist nicht erforderlich, um dieselbe Liste von Leerlaufzuständen für jeden Prozessor zu melden.
Für eine PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_PLATFORM_STATE-Struktur.
Anmerkungen
Wird an das PEP gesendet, um die Eigenschaften eines einzelnen Plattform-Leerlaufzustands abzufragen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung bei der Prozessorinitialisierung, um die Eigenschaften eines einzelnen Plattform-Leerlaufzustands abzufragen.
Der StateIndex-Parameter der PEP_PPM_QUERY_PLATFORM_STATE-Struktur gibt den Index des abgefragten Plattform-Leerlaufzustands an. Der Prozessortreiber fragt die Anzahl der unterstützten Plattform-Leerlaufzustände mit PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES ab, bevor diese Benachrichtigung gesendet wird. Der Prozessortreiber sendet dann eine PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE Benachrichtigung für jeden Plattform-Leerlaufzustand. Der Prozessortreiber wartet auf das Senden dieser Benachrichtigung, bis sich alle Prozessoren beim PEP registriert haben.
Die PEP füllt die State-Struktur mit Informationen über den Leerlaufzustand der Plattform aus. Die Leerlaufzustände der Plattform sollten in der Reihenfolge aufgeführt werden, in der der Energieverbrauch verringert bzw. die Übergangskosten steigen.
Bei einer PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_TEST_IDLE_STATE
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_TEST_IDLE_STATE.
Daten
Ein Zeiger auf eine PEP_PPM_TEST_IDLE_STATE-Struktur.
Anmerkungen
Wird verwendet, um zu testen, ob der angegebene Prozessor- und Plattform-Leerlaufzustand für den angegebenen Prozessor eingegeben werden kann.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, um zu testen, ob der angegebene Prozessor- und Plattform-Leerlaufzustand für den angegebenen Prozessor eingegeben werden kann. Wenn der Leerlaufstatus eingegeben werden kann, füllt der PEP den Vetocode PEP_IDLE_VETO_NONE aus und schließt den Leerlaufübergang ab. Wenn der Übergang im Leerlauf aus irgendeinem Grund nicht abgeschlossen werden kann, füllt der PEP einen Vetocode ungleich null aus.
Wichtige Vetocodes im Bereich 0x80000000 bis 0xffffffff sind für die Betriebssystemnutzung reserviert und dürfen nicht verwendet werden.
Wenn diese Benachrichtigung gesendet wird, hat das Betriebssystem bereits überprüft, dass alle Einschränkungen im Zusammenhang mit dem ausgewählten Prozessor- oder Plattform-Leerlaufzustand erfüllt wurden, einschließlich Geräte- und Prozessoreinschränkungen für einen Plattform-Leerlaufübergang.
Diese Benachrichtigung wird gesendet, bevor das Betriebssystem versucht, in einen Prozessor- oder Plattform-Leerlaufzustand zu wechseln, mit Ausnahme des Prozessor-Leerlaufzustands mit Index 0, der immer eingegeben werden kann. Das Ausfüllen dieser Benachrichtigung mit PEP_IDLE_VETO_NONE garantiert nicht, dass das Betriebssystem in den angegebenen Leerlaufzustand wechselt. Diese Benachrichtigung wird mit deaktivierten Interrupts gesendet. Diese Benachrichtigung wird immer auf dem Zielprozessor ausgeführt.
Für eine PEP_NOTIFY_PPM_TEST_IDLE_STATE Benachrichtigung wird die AcceptProcessorNotification-Routine mit deaktivierten Interrupts aufgerufen.
PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE.
Daten
Ein Zeiger auf eine PEP_PPM_IDLE_EXECUTE- oder PEP_PPM_IDLE_EXECUTE_V2-Struktur.
Anmerkungen
Wird an pep gesendet, um das System für den Übergang in den angegebenen Leerlaufzustand vorzubereiten.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep, um das System auf den Übergang in den angegebenen Leerlaufzustand vorzubereiten. Nach erfolgreichem Abschluss dieser Benachrichtigung wechselt das Betriebssystem den Prozessor in den Leerlauf, indem es den zugeordneten C-Zustand eingibt. Wenn pep das System nicht so vorbereiten kann, dass der Prozessor (und die Plattform) in den Leerlaufzustand wechselt, muss er einen Fehler status zurückgeben.
Wenn der Hypervisor aktiviert ist, empfängt pep diese Benachrichtigung nur beim Eintritt in einen Plattform-Leerlaufzustand, wobei das Feld ProcessorState auf PEP_PROCESSOR_IDLE_STATE_UNKNOWN festgelegt ist.
Bei Verwendung der koordinierten Leerlaufzustandsschnittstelle verwendet das Betriebssystem die PEP_PPM_IDLE_EXECUTE_V2-Struktur, die die Felder CoordinatedStateCount und CoordinatedState mit der Liste der koordinierten Leerlaufzustände enthält, die vom Leerlaufübergang eingegeben werden. Das Feld PlatformState gibt den tiefsten, von der Plattform koordinierten Leerlaufzustand an, der (sofern vorhanden) eingegeben wird.
Wenn die koordinierte Schnittstelle für den Leerlaufzustand nicht verwendet wird, verwendet das Betriebssystem die PEP_PPM_IDLE_EXECUTE-Struktur.
Für eine PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE Benachrichtigung wird die AcceptProcessorNotification-Routine mit deaktivierten Interrupts aufgerufen und immer auf dem Zielprozessor ausgeführt.
PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_PLATFORM_STATE-Struktur.
Anmerkungen
Informiert pep, dass ein Prozessor Notify(0x81) erhalten hat, um die Merkmale eines Plattform-Leerlaufzustands zu aktualisieren.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn ein Prozessor Notify(0x81) erhalten hat, um die Merkmale eines Plattform-Leerlaufzustands zu aktualisieren. Diese Benachrichtigung wird einmal für jeden Plattform-Leerlaufstatus gesendet. Wenn pep die Benachrichtigung nicht akzeptiert (d. h. false aus seinem AcceptProcessorNotification-Rückruf zurückgibt), wird die vorherige Definition des Plattform-Leerlaufzustands aus der zuletzt akzeptierten PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE oder PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE Benachrichtigung beibehalten.
Diese Benachrichtigung verwendet denselben Datenpuffer wie die PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE Benachrichtigung.
Für eine PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE-Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES.
Daten
Ein Zeiger auf eine PEP_PPM_PLATFORM_STATE_RESIDENCIES-Struktur.
Anmerkungen
Informiert den PEP, dass er die tatsächliche akkumulierte Zeit erfassen soll, die seit dem Start im Leerlaufzustand der einzelnen Plattformen aufgewendet wurde.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep, um die tatsächliche kumulierte Zeit zu erfassen, die seit dem Start im Leerlaufzustand der einzelnen Plattformen aufgewendet wurde. Daher gilt diese Abfrage nur für Plattformen, bei denen die zugrunde liegende Hardware sich autonom entscheiden kann, einen anderen Als der vom Betriebssystem angeforderte Zustand im Leerlauf der Plattform einzugeben. Die zurückgegebenen Werte werden zu Diagnosezwecken verwendet und geben an, wann sich die Ansicht des Betriebssystems für den Zustand der Plattform im Leerlauf erheblich von dem unterscheidet, was die Plattform tatsächlich erreicht hat.
Count gibt die Anzahl der Elemente im States-Array an, wobei der Elementindex dem Index des Plattform-Leerlaufzustands entspricht. Das PEP füllt jedes Element mit der tatsächlichen Residenz- und Übergangsanzahl des übereinstimmenden Zustands aus.
Hinweis Die von dieser Abfrage erfassten akkumulierten Werte sollten nur den Zeiträumen entsprechen, in denen der PEP (oder Prozessortreiber) tatsächlich einen Plattform-Leerlaufzustandsübergang ausgeführt hat. Dadurch wird sichergestellt, dass der Vergleich zwischen dem vom Betriebssystem berechneten Wohnsitz und dem tatsächlichen Wohnsitz sinnvoll ist.
Für eine PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES Benachrichtigung kann die AcceptProcessorNotification-Routine in jedem IRQL aufgerufen werden.
PEP_NOTIFY_PPM_QUERY_VETO_REASONS
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_VETO_REASONS.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_VETO_REASONS-Struktur.
Anmerkungen
Wird verwendet, um die Anzahl der eindeutigen Vetogründe abzufragen, die pep in den Rückrufen ProcessorIdleVeto und PlatformIdleVeto verwendet.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung bei der Prozessorinitialisierung, um die Anzahl der eindeutigen Veto-Gründe abzufragen, die pep in den Rückrufen ProcessorIdleVeto und PlatformIdleVeto verwendet. Diese Benachrichtigung ist optional und kann vom PEP ignoriert werden.
Wenn dies akzeptiert wird, darf der PEP die Veto-Gründe zwischen 1 und VetoReasonCount einschließlich verwenden, um ein Veto gegen einen Prozessor, jede Plattform oder einen koordinierten Leerlaufzustand einzuweisen. Pep darf keine Vetogründe verwenden, die größer als VetoReasonCount sind. Das Betriebssystem weist Veto-Tracking-Strukturen vorab zu. Bei Verwendung mit PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES garantiert, dass alle Rückrufe für Prozessor, Plattform und koordinierte Status erfolgreich sind.
Wenn diese Benachrichtigung vom PEP nicht akzeptiert wird, kann pep die Rückrufe ProcessorIdleVeto und PlatformIdleVeto mit einem beliebigen gesetzlichen Vetogrund verwenden. Das Betriebssystem garantiert nicht, dass die Rückrufe aufgrund von Zuordnungsfehlern oder anderen Problemen nicht fehlschlagen.
Für eine PEP_NOTIFY_PPM_QUERY_VETO_REASONS Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_VETO_REASON
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_VETO_REASON.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_VETO_REASON-Struktur.
Anmerkungen
Wird an pep gesendet, um Informationen zu einem bestimmten Vetogrund abzufragen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung bei der Prozessorinitialisierung, um Informationen zu einem bestimmten Vetogrund abzufragen. Diese Benachrichtigung wird zweimal für jeden Vetogrund gesendet, einmal mit einem NULLName-Puffer, um die für Name erforderliche Zuordnungsgröße abzurufen, und einmal mit einem Puffer ungleich NULLName, um den Inhalt von Name auszufüllen. Der Name sollte eine lesbare Zeichenfolge sein, die angibt, welche Bedingung dieser Vetogrund darstellt. Debugtools wie WPA und der Kerneldebugger zeigen name an, wenn sie diagnostizieren, warum kein Leerlaufzustand eingegeben wurde.
Für eine PEP_NOTIFY_PPM_QUERY_VETO_REASON Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES
Handle
Eine PEPHANDLE-Struktur, die das Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES.
Daten
Der NULL-Zeigerwert.
Anmerkungen
Informiert pep, dass das Betriebssystem bereit ist, Aufrufe von ProcessorIdleVeto oder PlatformIdleVeto anzunehmen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung nach der Prozessorinitialisierung, aber vor dem ersten Leerlaufeintrag, um anzugeben, dass das Betriebssystem bereit ist, Aufrufe von ProcessorIdleVeto oder PlatformIdleVeto anzunehmen. Das PEP kann alle Startzeit-Vetoes im Kontext dieser Benachrichtigung aufzählen, und das Betriebssystem garantiert, dass sie vor dem ersten Versuch, einen Prozessor, eine Plattform oder einen koordinierten Leerlaufzustand auszuwählen, wirksam werden. Diese Benachrichtigung verfügt über keinen zugeordneten Data-Parameter.
Bei einer PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_PARK_MASK
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_PARK_MASK.
Daten
Ein Zeiger auf eine PEP_PPM_PARK_MASK-Struktur.
Anmerkungen
Informiert die PEP über die aktuelle Kernparkmaske.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung zur Laufzeit, um den PEP über die aktuelle Kernparkmaske zu informieren.
Für eine PEP_NOTIFY_PPM_PARK_MASK Benachrichtigung wird die AcceptProcessorNotification-Routine unter IRQL = DISPATCH_LEVEL aufgerufen und kann während der Ausführung auf einem beliebigen Prozessor gesendet werden.
PEP_NOTIFY_PPM_PARK_SELECTION_V2
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_PARK_SELECTION_V2.
Daten
Ein Zeiger auf eine PEP_PPM_PARK_SELECTION_V2-Struktur.
Anmerkungen
Informiert das PEP, dass das Betriebssystem einen bevorzugten Satz von Kernen auswählen möchte, von denen Unterbrechungen geparkt oder gesteuert werden sollen. Wenn diese Benachrichtigung nicht akzeptiert wird, setzt das Betriebssystem auf das Senden der PEP_NOTIFY_PPM_PARK_SELECTION Benachrichtigung zurück.
Beim Ausführen des Algorithmus zur Leistungsüberprüfung sendet das Betriebssystem die PEP_NOTIFY_PPM_PARK_SELECTION_V2 Benachrichtigung möglicherweise mehrmals: null oder mehr Mal für jede Kerneffizienzklasse in jeder Parkdomäne und null oder mehr Mal für die Unterbrechungssteuerung. Um pep bei der Bereitstellung einer konsistenten Antwort auf das Betriebssystem für eine Leistungsüberprüfung zu unterstützen, gibt das Betriebssystem den unterbrechungszeitbasierten Zeitstempel der Leistungsüberprüfungsauswertung an, der die Benachrichtigung ausgelöst hat. Alle Parkauswahlbenachrichtigungen, die sich aus einer Leistungsüberprüfungsauswertung ergeben, weisen den gleichen Zeitstempel auf. Beachten Sie, dass die verbleibenden Felder (Count, AdditionalUnparkedProcessors, EvaluationType und Processors) für Benachrichtigungen, die während derselben Leistungsüberprüfungsauswertung gesendet werden, variieren können. Der PEP kann nicht davon ausgehen, dass sie gleich bleiben.
Für eine PEP_NOTIFY_PPM_PARK_SELECTION Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = DISPATCH_LEVEL aufgerufen.
PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE.
Daten
Ein Zeiger auf eine PEP_PPM_PERF_CHECK_COMPLETE Struktur.
Anmerkungen
Informiert das PEP darüber, dass die regelmäßige Leistungsüberprüfungsauswertung abgeschlossen ist.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung zur Laufzeit, um den PEP darüber zu informieren, dass die regelmäßige Überprüfungsauswertung abgeschlossen wurde.
Für eine PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE Benachrichtigung wird die AcceptProcessorNotification-Routine unter IRQL = DISPATCH_LEVEL aufgerufen und kann während der Ausführung auf einem beliebigen Prozessor gesendet werden.
PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_COORDINATED_DEPENDENCY-Struktur.
Anmerkungen
Wird an den PEP gesendet, um die Abhängigkeiten jedes koordinierten Leerlaufzustands abzufragen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung bei der Prozessorinitialisierung, um den PEP nach den Abhängigkeiten jedes koordinierten Leerlaufzustands abzufragen. Das Betriebssystem weist MaximumDependencySize-Elemente für das Abhängigkeitsarray zu. Der PEP muss die Anzahl der Elemente des Arrays eingeben, die in DependencySizeUsed verwendet wurden.
Wenn die ausgedrückte Abhängigkeit von einem Prozessor ist, füllt PEP das Feld TargetProcessor mit dem POHANDLE des Zielprozessors aus. Das Feld ExpectedState verweist dann auf den Index eines Prozessor-Leerlaufzustands auf dem Zielprozessor.
Wenn die ausgedrückte Abhängigkeit von anderen koordinierten Leerlaufzuständen erfolgt, füllt PEP null für den TargetProcessor aus. Das Feld ExpectedState verweist dann auf den Index eines koordinierten Leerlaufzustands.
Jede Abhängigkeit listet ein Menü mit Optionen auf, die das Betriebssystem verwenden darf, um die Abhängigkeit zu erfüllen. Im Leerlauf versucht das Betriebssystem, die Abhängigkeit zu erfüllen, indem es die Bedingungen für jeden überprüft, vom höchsten Index bis zum niedrigsten Index. Wenn die Bedingungen für eine Abhängigkeit erfüllt sind, betrachtet das Betriebssystem die Abhängigkeit als erfüllt. Wenn keine der Bedingungen erfüllt werden kann, ist die Abhängigkeit nicht erfüllt, und der koordinierte Leerlaufzustand wird möglicherweise nicht eingegeben.
Für eine PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_STATE_NAME-Struktur.
Anmerkungen
Wird an die PEP gesendet, um Informationen zu einem bestimmten koordinierten Zustand oder zu einem bestimmten Zustand im Leerlauf der Plattform abzufragen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung bei der Prozessorinitialisierung, um den PEP nach Informationen zu einem bestimmten koordinierten Oder Plattform-Leerlaufzustand abzufragen. Diese Benachrichtigung wird zweimal für jeden Zustand gesendet, einmal mit einem NULL-Namen-Puffer, um die für Name erforderliche Zuordnungsgröße abzurufen, und einmal mit einem Puffer ohne NULL-Namen, um den Inhalt von Name auszufüllen. Der Name sollte eine lesbare Zeichenfolge sein, die den Namen des koordinierten Leerlaufzustands angibt. Koordinierte Leerlaufzustände sollten eindeutige Namen aufweisen, mit Ausnahme von Multiclustersystemen, bei denen die Namen gleichwertiger Zustände auf verschiedenen Clustern identisch sein können. Debugtools wie WPA und der Kerneldebugger zeigen Name in Diagnose an, die auf diesen Koordinierten/Plattform-Leerlaufzustand verweisen.
Für eine PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_COORDINATED_STATES-Struktur.
Anmerkungen
Wird bei der Prozessorinitialisierung verwendet, um die Eigenschaften aller koordinierten Leerlaufzustände abzufragen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an die PEP bei der Prozessorinitialisierung, um die Eigenschaften aller koordinierten Leerlaufzustände abzufragen. Diese Benachrichtigung wird gesendet, bevor pep die PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE Benachrichtigung gesendet hätte. Falls akzeptiert, verwendet pep die koordinierte Schnittstelle für den Leerlaufzustand und empfängt keine PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE Benachrichtigungen. Wenn dies nicht akzeptiert wird, verwendet pep die Plattform-Leerlaufzustandsschnittstelle, und das Betriebssystem verwendet die PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE Benachrichtigung, um koordinierte Leerlaufzustände abzufragen.
Das Betriebssystem wartet auf das Senden dieser Benachrichtigung, bis sich alle Prozessoren beim PEP registriert haben.
Der PEP füllt die State-Struktur mit Informationen über die koordinierten Leerlaufzustände aus.
Die Reihenfolge der koordinierten Leerlaufzustände muss den folgenden Regeln entsprechen:
Zwei koordinierte Zustände, die unterschiedliche Leistungszustände für dieselbe Funktionseinheit darstellen, sollten in der Reihenfolge von "leichtester" (meister Energieverbrauch/geringste Übergangskosten) bis zu tiefstem Wert (geringster Energieverbrauch/höchste Übergangskosten) aufgeführt werden. Koordinierte Leerlaufzustände können nur von anderen koordinierten Leerlaufzuständen mit einem niedrigeren Index abhängen. Es ist keine Reihenfolge zwischen zwei aufeinander abgestimmten koordinierten Leerlaufzuständen erforderlich (d. h. zwei koordinierte Leerlaufzustände, die von unzusammenhängenden Prozessoren abhängen).
Bei einer PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_STATE_NAME-Struktur.
Anmerkungen
Wird an den PEP gesendet, um Informationen zu einem bestimmten Prozessor-Leerlaufzustand abzufragen.
Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung bei der Prozessorinitialisierung, um den PEP nach Informationen zu einem bestimmten Prozessor-Leerlaufzustand abzufragen. Diese Benachrichtigung wird zweimal für jeden Zustand gesendet, einmal mit einem NULL-Namen-Puffer, um die für Name erforderliche Zuordnungsgröße abzurufen, und einmal mit einem Puffer ohne NULL-Namen, um den Inhalt von Name auszufüllen. Der Name sollte eine lesbare Zeichenfolge sein, die den Namen des koordinierten Leerlaufzustands angibt. Koordinierte Leerlaufzustände sollten eindeutige Namen aufweisen, mit Ausnahme von Multiclustersystemen, bei denen die Namen gleichwertiger Zustände auf verschiedenen Clustern identisch sein können. Debugtools wie WPA und der Kerneldebugger zeigen Name in Diagnose an, die auf diesen Koordinierten/Plattform-Leerlaufzustand verweisen.
Bei einer PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME Benachrichtigung wird die AcceptProcessorNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.
PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE.
Daten
Ein Zeiger auf eine PEP_PPM_ENTER_SYSTEM_STATE Struktur.
Anmerkungen
PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE ist eine optionale Benachrichtigung, die pep benachrichtigt, dass das System in einen Systemstromzustand wechselt. Diese Benachrichtigung wird gleichzeitig an alle Prozessoren gesendet, nachdem das System alle passiven Arbeiten abgeschlossen hat, die den Prozessor in den Systemstromzustand übergehen.
Diese Benachrichtigung wird an DISPATCH_LEVEL gesendet, wobei alle Prozessoren zur Verteilung stehen. Diese Benachrichtigung wird immer auf dem Zielprozessor ausgeführt.
Hinweis Die PEP darf keine Arbeit aus dieser Benachrichtigung in die Warteschlange stellen. Die Prozessoren verarbeiten keine Arbeitselemente, KEINE DPCs usw., nachdem diese Benachrichtigung gesendet wurde.
DISPATCH_LEVEL
PEP_NOTIFY_PPM_PERF_SET_STATE
Im Folgenden werden Parameter für AcceptProcessorNotification beschrieben.
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_PERF_SET_STATE.
Daten
Ein Zeiger auf eine PEP_PPM_PERF_SET_STATE-Struktur .
Anmerkungen
Wird zur Laufzeit verwendet, um den aktuellen Betriebsleistungsstatus des Prozessors festzulegen. Wenn die PEP über autonome Hardware verfügt, die die Leistung ohne Leistungssatzanforderung steigern/reduzieren kann, sollten die Anforderungen von autonomer Hardware basierend auf dem minimalen Leistungszustand und/oder dem maximalen Leistungszustand begrenzt und der gewünschte Leistungszustand als Ziel festgelegt werden. Andernfalls sollte sie genau im gewünschten Leistungszustand ausgeführt werden.
Diese Benachrichtigung wird an DISPATCH_LEVEL gesendet. Wenn vom Planer gerichtete Leistungszustände verwendet werden, muss der PEP bei der Verarbeitung dieser Benachrichtigung die Einschränkungen in Abschnitt 3.3.6 einhalten. Es kann während der Ausführung auf einem beliebigen Prozessor gesendet werden.
PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_DISCRETE_PERF_STATES-Struktur. Wird bei der Prozessorinitialisierung verwendet, um die Liste der vom PEP unterstützten diskreten Leistungszustände abzufragen, wenn die PEP_NOTIFY_PPM_QUERY_CAPABILITIES Benachrichtigung die Unterstützung für diskrete Leistungszustände angibt.
Die Leistungsstatusliste sollte von der schnellsten bis zur langsamsten Reihenfolge sortiert werden, wobei jeder Leistungszustand einem bestimmten Leistungswert zugeordnet wird. Die Leistungsstatusliste sollte auch einen Eintrag enthalten, der mit jedem in der PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES-Benachrichtigung aufgeführten Leistungswert übereinstimmt. Diese Benachrichtigung wird am PASSIVE_LEVEL gesendet. Es kann während der Ausführung auf einem beliebigen Prozessor gesendet werden.
PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO.
Daten
Ein Zeiger auf eine PEP_PPM_QUERY_DOMAIN_INFO-Struktur.
Anmerkungen
Eine optionale Benachrichtigung, die Informationen zu einer Leistungsdomäne abfragt. Diese Benachrichtigung wird am PASSIVE_LEVEL gesendet. Es kann während der Ausführung auf einem beliebigen Prozessor gesendet werden.
PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE
Handle
Eine PEPHANDLE-Struktur, die den Gerätehandle des PEP für den Zielprozessor enthält. Wenn die Benachrichtigung nicht auf einen bestimmten Prozessor ausgerichtet ist, ist dies NULL.
Benachrichtigung
Der Wert PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE.
Daten
Ein Zeiger auf eine PEP_PPM_RESUME_FROM_SYSTEM_STATE-Struktur.
Anmerkungen
Eine optionale Benachrichtigung, die pep benachrichtigt, dass das System gerade aus einem Systemstromzustand fortgesetzt wurde. Diese Benachrichtigung wird gleichzeitig an alle Prozessoren gesendet, kurz bevor Prozessoren freigegeben werden, um die Arbeit auf passiver Ebene fortzusetzen. Diese Benachrichtigung wird an DISPATCH_LEVEL gesendet, wobei alle Prozessoren zur Verteilung stehen. Diese Benachrichtigung wird immer auf dem Zielprozessor ausgeführt.