Benachrichtigungen zur Geräteenergieverwaltung (Device Power Management, DPM)

Jede DPM-Benachrichtigung (Device Power Management), die die AcceptDeviceNotification-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_DPM_XXX konstanten Wert festgelegt, der den Benachrichtigungstyp angibt. Der Parameter Data verweist auf einen PEP_XXX Strukturtyp, der diesem Benachrichtigungstyp zugeordnet ist.

Benachrichtigungs-ID Wert Zugeordnete Struktur
PEP_DPM_PREPARE_DEVICE 0x01 PEP_PREPARE_DEVICE
PEP_DPM_ABANDON_DEVICE 0x02 PEP_ABANDON_DEVICE
PEP_DPM_REGISTER_DEVICE 0x03 PEP_REGISTER_DEVICE_V2
PEP_DPM_UNREGISTER_DEVICE 0x04 PEP_UNREGISTER_DEVICE
PEP_DPM_DEVICE_POWER_STATE 0x05 PEP_DEVICE_POWER_STATE
PEP_DPM_COMPONENT_ACTIVE 0x07 PEP_COMPONENT_ACTIVE
PEP_DPM_WORK 0x0D PEP_WORK
PEP_DPM_POWER_CONTROL_REQUEST 0x0E PEP_POWER_CONTROL_REQUEST
PEP_DPM_POWER_CONTROL_COMPLETE 0x0F PEP_POWER_CONTROL_COMPLETE
PEP_DPM_SYSTEM_LATENCY_UPDATE 0x10 PEP_SYSTEM_LATENCY
PEP_DPM_DEVICE_STARTED 0x12 PEP_DEVICE_STARTED
PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE 0x13 PEP_NOTIFY_COMPONENT_IDLE_STATE
PEP_DPM_REGISTER_DEBUGGER 0x15 PEP_REGISTER_DEBUGGER
PEP_DPM_LOW_POWER_EPOCH 0x18 PEP_LOW_POWER_EPOCH
PEP_DPM_REGISTER_CRASHDUMP_DEVICE 0x19 PEP_REGISTER_CRASHDUMP_DEVICE
PEP_DPM_DEVICE_IDLE_CONSTRAINTS 0x1A PEP_DEVICE_PLATFORM_CONSTRAINTS
PEP_DPM_COMPONENT_IDLE_CONSTRAINTS 0x1B PEP_COMPONENT_PLATFORM_CONSTRAINTS
PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES 0x1C PEP_QUERY_COMPONENT_PERF_CAPABILITIES
PEP_DPM_QUERY_COMPONENT_PERF_SET 0x1D PEP_QUERY_COMPONENT_PERF_SET
PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME 0x1E PEP_QUERY_COMPONENT_PERF_SET_NAME
PEP_DPM_QUERY_COMPONENT_PERF_STATES 0x1F PEP_QUERY_COMPONENT_PERF_STATES
PEP_DPM_REGISTER_COMPONENT_PERF_STATES 0x20 PEP_REGISTER_COMPONENT_PERF_STATES
PEP_DPM_REQUEST_COMPONENT_PERF_STATE 0x21 PEP_REQUEST_COMPONENT_PERF_STATE
PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE 0x22 PEP_QUERY_CURRENT_COMPONENT_PERF_STATE
PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS 0x23 PEP_DEBUGGER_TRANSITION_REQUIREMENTS
PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT 0x24 PEP_QUERY_SOC_SUBSYSTEM_COUNT
PEP_DPM_QUERY_SOC_SUBSYSTEM 0x25 PEP_QUERY_SOC_SUBSYSTEM
PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING 0x26 PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING
PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME 0x27 PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME
PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA 0x28 PEP_QUERY_SOC_SUBSYSTEM_METADATA

Benachrichtigungs-ID

Die folgenden DPM-Benachrichtigungs-IDs werden von der Rückrufroutine AcceptDeviceNotification verwendet.

PEP_DPM_PREPARE_DEVICE

Benachrichtigung (PEP_DPM_PREPARE_DEVICE)

Der Wert PEP_DPM_PREPARE_DEVICE.

Daten (PEP_DPM_PREPARE_DEVICE)

Ein Zeiger auf eine PEP_PREPARE_DEVICE-Struktur . Teilt dem PEP, der das angegebene Gerät besitzt, an, das Gerät so zu konfigurieren, dass es im Betriebszustand des D0-Geräts (Arbeitsgerät) betrieben wird.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an das PEP, bevor der Treiberstapel eines Geräts zum ersten Mal vom Betriebssystem gestartet wird. Mit dieser Benachrichtigung kann pep alle externen Energie- oder Uhrenressourcen aktivieren, die für den Betrieb des Geräts erforderlich sind.

Um eine PEP_DPM_PREPARE_DEVICE Benachrichtigung zu senden, ruft das Betriebssystem die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Benachrichtigungsparameters PEP_DPM_PREPARE_DEVICE, und der Data-Parameter verweist auf eine PEP_PREPARE_DEVICE-Struktur. Beim Eintrag ist das DeviceId-Element dieser Struktur eine Geräteidentifikationszeichenfolge, die ein Gerät eindeutig identifiziert. Vor der Rückgabe legt pep das DeviceAccepted-Element dieser Struktur auf TRUE fest, um den Besitz des Geräts zu beanspruchen, oder auf FALSE, um anzugeben, dass es nicht besitzer des Geräts ist.

Das PEP, das die Energieverwaltung für ein Gerät besitzt, ist für die Verwaltung von Energie- und Uhrenressourcen verantwortlich, die sich außerhalb des Geräts befinden und für den Betrieb des Geräts erforderlich sind. Dieser PEP ermöglicht das Taktsignal und die Stromversorgung des Geräts als Reaktion auf eine PEP_DPM_PREPARE_DEVICE Benachrichtigung und entfernt das Taktsignal und die Stromversorgung des Geräts als Reaktion auf eine PEP_DPM_ABANDON_DEVICE Benachrichtigung.

In der folgenden Tabelle sind die Voraussetzungen aufgeführt, die wirksam sind, wenn dieses Betriebssystem eine PEP_DPM_PREPARE_DEVICE Benachrichtigung an das PEP sendet, und die Postbedingungen, die wirksam sein müssen, nachdem pep diese Benachrichtigung für ein Gerät verarbeitet hat, das es besitzt.

Preconditions Nachbedingungen
Das Gerät kann sich in einem beliebigen Energiezustand befinden. Wenn der PEP den Besitz des Geräts beansprucht, müssen das Gerät und alle zugehörigen Komponenten eingeschaltet sein, und die Uhren für das Gerät müssen nicht aktiviert sein.
Pep kann PEP_DPM_PREPARE_DEVICE Benachrichtigungen für mehrere Geräte empfangen, wenn der Power Manager versucht, PEP-Besitzer für diese Geräte zu finden. Der PEP sollte das DeviceAccepted-Element der PEP_PREPARE_DEVICE-Struktur für alle Geräte, die nicht im Besitz des PEP sind, auf FALSE festlegen.

Für Kerngeräte werden keine PEP_DPM_PREPARE_DEVICE Benachrichtigungen gesendet.

Bei einer PEP_DPM_PREPARE_DEVICE Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_ABANDON_DEVICE

Benachrichtigung (PEP_DPM_ABANDON_DEVICE)

Der Wert PEP_DPM_ABANDON_DEVICE.

Daten (PEP_DPM_ABANDON_DEVICE)

Ein Zeiger auf eine PEP_ABANDON_DEVICE-Struktur . Teilt dem PEP mit, dass das angegebene Gerät nicht mehr vom Betriebssystem verwendet wird.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an das PEP, nachdem das Betriebssystem den Treiberstapel eines Geräts entfernt hat. Mit dieser Benachrichtigung kann pep alle externen Energie- oder Uhrenressourcen deaktivieren, die zum Betrieb des Geräts verwendet werden, und dieses Gerät aus zukünftigen Entscheidungsprozessen entfernen. Wenn das Gerät später erneut gestartet werden muss, erhält pep zunächst eine PEP_DPM_PREPARE_DEVICE Benachrichtigung.

Zum Senden einer PEP_DPM_ABANDON_DEVICE Benachrichtigung ruft das Betriebssystem die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_DPM_ABANDON_DEVICE, und der Data-Parameter verweist auf eine PEP_ABANDON_DEVICE-Struktur. Beim Eintrag ist das DeviceId-Element dieser Struktur eine Geräteidentifikationszeichenfolge, die ein Gerät eindeutig identifiziert. Vor der Rückgabe legt pep das DeviceAccepted-Element dieser Struktur auf TRUE fest, um den Besitz des Geräts zu beanspruchen, oder auf FALSE, um anzugeben, dass es nicht besitzer des Geräts ist.

Das PEP, das die Energieverwaltung für ein Gerät besitzt, ist für die Verwaltung von Energie- und Uhrenressourcen verantwortlich, die sich außerhalb des Geräts befinden und für den Betrieb des Geräts erforderlich sind.

In der folgenden Tabelle sind die Voraussetzungen aufgeführt, die wirksam sind, wenn dieses Betriebssystem eine PEP_DPM_ABANDON_DEVICE Benachrichtigung an das PEP sendet, und die Postbedingungen, die wirksam sein müssen, nachdem pep diese Benachrichtigung für ein Gerät verarbeitet hat, das es besitzt.

Preconditions Nachbedingungen
Der PEP hat eine PEP_DPM_PREPARE_DEVICE Benachrichtigung für das Gerät erhalten und den Besitz des Geräts akzeptiert.
Wenn die PEP eine PEP_DPM_REGISTER_DEVICE Benachrichtigung für das Gerät erhalten und die Geräteregistrierung akzeptiert hat, hat sie anschließend eine PEP_DPM_UNREGISTER_DEVICE Benachrichtigung für das Gerät erhalten.
Alle Ressourcen, die als Reaktion auf die PEP_DPM_PREPARE_DEVICE Benachrichtigung zugewiesen wurden, müssen freigegeben werden.
Bei einer PEP_DPM_PREPARE_DEVICE Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_REGISTER_DEVICE

Benachrichtigung (PEP_DPM_REGISTER_DEVICE)

Der Wert PEP_DPM_REGISTER_DEVICE.

Daten (PEP_DPM_REGISTER_DEVICE)

Ein Zeiger auf eine PEP_REGISTER_DEVICE_V2-Struktur .

Teilt dem PEP mit, dass der Treiberstapel für das angegebene Gerät beim Windows Power Management Framework (PoFx) registriert wurde.

PoFx sendet diese Benachrichtigung, wenn der Treiberstapel des Geräts die PoFxRegisterDevice-Routine aufruft, um das Gerät zu registrieren. Diese Benachrichtigung ermöglicht es dem PEP, die Registrierungsinformationen des Geräts zur späteren Referenz in den internen Speicher des PEP zu kopieren.

Um eine PEP_DPM_REGISTER_DEVICE Benachrichtigung zu senden, ruft das Betriebssystem die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_DPM_REGISTER_DEVICE, und der Data-Parameter verweist auf eine PEP_REGISTER_DEVICE_V2-Struktur, die das Kernelhandle des Geräts und andere Registrierungsinformationen enthält. Beim Eintrag ist das DeviceId-Element dieser Struktur eine Geräteidentifikationszeichenfolge, die ein Gerät eindeutig identifiziert. Vor der Rückgabe legt pep das DeviceAccepted-Element dieser Struktur auf TRUE fest, um den Besitz des Geräts zu beanspruchen, oder auf FALSE, um anzugeben, dass es nicht besitzer des Geräts ist. Informationen zu den anderen Elementen dieser Struktur finden Sie unter PEP_REGISTER_DEVICE_V2.

Die folgende Tabelle zeigt die Vorbedingungen, die wirksam sind, wenn dieses Betriebssystem eine PEP_DPM_REGISTER_DEVICE Benachrichtigung an das PEP sendet, und die Postbedingungen, die wirksam sein müssen, nachdem pep diese Benachrichtigung für ein Gerät verarbeitet hat, das es besitzt.

Preconditions Nachbedingungen
Pep hat eine PEP_DPM_PREPARE_DEVICE Benachrichtigung für ein Gerät erhalten, das er besitzt. Pep kann andere DPM-Benachrichtigungen (Device Power Management) empfangen, die diesem Gerät zugeordnet sind.

Bei einer PEP_DPM_REGISTER_DEVICE Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_UNREGISTER_DEVICE

Benachrichtigung (PEP_DPM_UNREGISTER_DEVICE)

Der Wert PEP_DPM_UNREGISTER_DEVICE.

Daten (PEP_DPM_UNREGISTER_DEVICE)

Ein Zeiger auf eine PEP_UNREGISTER_DEVICE Struktur.

Teilt dem PEP, dem das angegebene Gerät gehört, mit, dass der Treiberstapel des Geräts seine Registrierung aus dem Windows Power Management Framework (PoFx) zurückgezogen hat.

PoFx sendet diese Benachrichtigung, um den PEP darüber zu informieren, dass alle Registrierungsinformationen, die pep während der vorherigen PEP_DPM_REGISTER_DEVICE Benachrichtigung für das Gerät gespeichert hat, nicht mehr gültig sind. Als Reaktion kann pep jeden internen Zustand sauber, der für die Energieverwaltung dieses Geräts verwendet wird.

Zum Senden einer PEP_DPM_UNREGISTER_DEVICE Benachrichtigung ruft das Betriebssystem die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Benachrichtigungsparameters PEP_DPM_UNREGISTER_DEVICE, und der Data-Parameter verweist auf eine PEP_UNREGISTER_DEVICE-Struktur. Diese Struktur enthält das Handle, das pep als Reaktion auf die vorherige PEP_DPM_REGISTER_DEVICE Benachrichtigung für das Gerät erstellt hat.

In der folgenden Tabelle sind die Voraussetzungen aufgeführt, die wirksam sind, wenn dieses Betriebssystem eine PEP_DPM_UNREGISTER_DEVICE Benachrichtigung an das PEP sendet, und die Postbedingungen, die wirksam sein müssen, nachdem pep diese Benachrichtigung für ein Gerät verarbeitet hat, das es besitzt.

Preconditions Nachbedingungen
Wenn der PEP eine PEP_DPM_REGISTER_DEVICE Benachrichtigung für das Gerät erhalten hat und die Geräteregistrierung akzeptiert hat.
Das PEP kann alle DPM-Benachrichtigungen (Device Power Management) empfangen, die diesem Gerät zugeordnet sind.
Der PEP kann "Arbeit" melden, die diesem Gerät zugeordnet ist.
Das PEP kann mit Ausnahme von PEP_DPM_ABANDON_DEVICE keine DPM-Benachrichtigungen mehr empfangen, die diesem Gerät zugeordnet sind.
Die PEP kann keine "Arbeit" melden, die diesem Gerät zugeordnet ist.

Bei einer PEP_DPM_UNREGISTER_DEVICE Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_DEVICE_POWER_STATE

Benachrichtigung (PEP_DPM_DEVICE_POWER_STATE)

Der Wert PEP_DPM_DEVICE_POWER_STATE.

Daten (PEP_DPM_DEVICE_POWER_STATE)

Ein Zeiger auf eine PEP_DEVICE_POWER_STATE-Struktur .

Wird jedes Mal an den PEP gesendet, wenn der Treiberstapel des Geräts entweder eine Änderung in einen neuen Dx-Energiezustand anfordert oder ein zuvor angeforderter Übergang zu einem Dx-Energiezustand abgeschlossen ist.

Nachdem pep die RequestWorker-Routine aufgerufen hat, um ein Arbeitselement anzufordern, antwortet PoFx, indem dem PEP eine PEP_DPM_DEVICE_POWER_STATE Benachrichtigung gesendet wird. Diese Benachrichtigung wird jedoch erst gesendet, wenn die Ressourcen (d. h. der Workerthread), die zum Verarbeiten des Arbeitselements erforderlich sind, verfügbar sind. Auf diese Weise garantiert PoFx, dass die Arbeitsanforderung, die pep während der Benachrichtigung an PoFx übergibt, niemals aufgrund von Ressourcenmangel fehlschlagen kann.

Zum Senden einer PEP_DPM_DEVICE_POWER_STATE Benachrichtigung ruft das Betriebssystem die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Benachrichtigungsparameters PEP_DPM_DEVICE_POWER_STATE, und der Data-Parameter verweist auf eine PEP_DEVICE_POWER_STATE-Struktur. Beim Eintrag sollte das PEP davon ausgehen, dass der Inhalt dieser Struktur nicht initialisiert ist. Um diese Benachrichtigung zu behandeln, sollte pep festlegen, dass der WorkInformation-Member auf eine pep-zugeordnete PEP_WORK_INFORMATION-Struktur verweist, die die angeforderte Arbeit beschreibt. Darüber hinaus sollte der PEP das NeedWork-Element der PEP_WORK-Struktur auf TRUE festlegen, um zu bestätigen, dass pep die PEP_DEVICE_POWER_STATE Benachrichtigung verarbeitet hat und dass das WorkInformation-Element auf eine gültige PEP_WORK_INFORMATION-Struktur verweist. Wenn pep die Benachrichtigung nicht verarbeitet oder die PEP_WORK_INFORMATION Struktur nicht zuordnen kann, sollte pep den WorkInformation-Member auf NULL festlegen und den NeedWork-Member auf FALSE festlegen.

Bei einer PEP_DPM_DEVICE_POWER_STATE Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_COMPONENT_ACTIVE

Benachrichtigung (PEP_DPM_COMPONENT_ACTIVE)

Der Wert PEP_DPM_COMPONENT_ACTIVE.

Daten (PEP_DPM_COMPONENT_ACTIVE)

Ein Zeiger auf eine PEP_COMPONENT_ACTIVE Struktur, die die Komponente identifiziert und angibt, ob diese Komponente einen Übergang zur aktiven Bedingung oder zur Leerlaufbedingung macht.

Informiert den PEP darüber, dass eine Komponente einen Übergang von der Leerlaufbedingung zur aktiven Bedingung vornehmen muss oder umgekehrt.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn ein Übergang zur aktiven Bedingung oder zur Leerlaufbedingung aussteht.

Um eine PEP_DPM_COMPONENT_ACTIVE Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_DPM_COMPONENT_ACTIVE, und der Data-Parameter verweist auf eine PEP_COMPONENT_ACTIVE-Struktur.

Eine Komponente, auf die zugegriffen werden kann, befindet sich im aktiven Zustand. Eine Komponente, auf die nicht zugegriffen werden kann, befindet sich im Leerlauf. Eine Komponente, die sich im aktiven Zustand befindet, befindet sich immer im Energiezustand der F0-Komponente. Die Komponente kann F0 erst verlassen, wenn sie in die Leerlaufbedingung wechselt. Eine Komponente, die sich im Leerlaufzustand befindet, kann sich in F0 oder im Low-Power-Fx-Zustand befinden. Die Aktiv-/Leerlaufbedingung einer Komponente ist das einzige zuverlässige Mittel für einen Treiber, um zu bestimmen, ob auf eine Komponente zugegriffen werden kann. Eine Komponente, die sich in F0 befindet, aber sich ebenfalls im Leerlauf befindet, kann in einen Low-Power-Fx-Zustand wechseln.

Wenn eine aktive Komponente bereit ist, in die Leerlaufbedingung einzutreten, erfolgt der Übergang sofort. Während der Behandlung der PEP_DPM_COMPONENT_ACTIVE Benachrichtigung kann der PEP beispielsweise einen Übergang von F0 zu einem Low-Power-Fx-Zustand für die Komponente anfordern.

Wenn sich eine Komponente in einem Fx-Zustand mit niedrigem Stromverbrauch befindet, wenn eine PEP_DPM_COMPONENT_ACTIVE Benachrichtigung einen Übergang von der Leerlaufbedingung zur aktiven Bedingung anfordert, muss pep zuerst die Komponente auf F0 umstellen, bevor die Komponente in die aktive Bedingung eintreten kann. Möglicherweise muss pep die Vorbereitung der Komponente für den Übergang zur aktiven Bedingung asynchron abschließen, nachdem er vom AcceptDeviceNotification-Rückruf für die PEP_DPM_COMPONENT_ACTIVE-Benachrichtigung zurückgegeben wurde. Nachdem die Komponente vollständig für den Betrieb im aktiven Zustand konfiguriert ist, muss pep die RequestWorker-Routine aufrufen und dann die resultierende PEP_DPM_WORK Benachrichtigung verarbeiten, indem WorkType = PepWorkActiveComplete in der PEP_WORK_INFORMATION-Struktur festgelegt wird.

Wenn pep eine PEP_DPM_COMPONENT_ACTIVE Benachrichtigung für eine Komponente in F0 empfängt und bereits vollständig für den Betrieb im aktiven Zustand konfiguriert ist, kann pep die Behandlung dieser Benachrichtigung möglicherweise synchron abschließen. Wenn die Behandlung der Benachrichtigung "schneller Pfad" unterstützt wird, enthält der WorkInformation-Member der PEP_COMPONENT_ACTIVE-Struktur für diese Benachrichtigung einen Zeiger auf eine PEP_WORK_INFORMATION-Struktur, und PEP kann das WorkType-Element dieser Struktur auf PepWorkActiveComplete festlegen, um den Übergang abzuschließen. Wenn WorkInformation = NULL ist, ist jedoch kein "schneller Pfad" verfügbar, und pep muss den Übergang asynchron abschließen, indem RequestWorker aufgerufen wird, wie im vorherigen Absatz beschrieben.

Weitere Informationen zu den Aktiven- und Leerlaufbedingungen finden Sie unter Energieverwaltung auf Komponentenebene.

Für eine PEP_DPM_COMPONENT_ACTIVE Benachrichtigung wird die AcceptDeviceNotification-Routine unter IRQL <= DISPATCH_LEVEL aufgerufen.

PEP_DPM_WORK

Benachrichtigung (PEP_DPM_WORK)

Der Wert PEP_DPM_WORK.

Daten (PEP_DPM_WORK)

Ein Zeiger auf eine PEP_WORK-Struktur .

Wird einmal an pep gesendet, wenn pep die RequestWorker-Routine aufruft, um ein Arbeitselement vom Windows Power Management Framework (PoFx) anzufordern.

Nachdem der PEP die RequestWorker-Routine aufgerufen hat, um ein Arbeitselement anzufordern, antwortet PoFx, indem dem PEP eine PEP_DPM_WORK Benachrichtigung gesendet wird. Diese Benachrichtigung wird jedoch erst gesendet, wenn die Zum Verarbeiten des Arbeitselements erforderlichen Ressourcen (d. h. der Arbeitsthread) verfügbar sind. Auf diese Weise garantiert PoFx, dass die Arbeitsanforderung, die pep während der Benachrichtigung an PoFx übergibt, aufgrund fehlender Ressourcen nie fehlschlagen kann.

Um eine PEP_DPM_WORK Benachrichtigung zu senden, ruft das Betriebssystem die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_DPM_WORK, und der Data-Parameter verweist auf eine PEP_WORK-Struktur. Bei der Eingabe sollte pep davon ausgehen, dass der Inhalt dieser Struktur nicht initialisiert ist. Um diese Benachrichtigung zu behandeln, sollte pep das WorkInformation-Element so festlegen, dass er auf eine durch PEP zugewiesene PEP_WORK_INFORMATION-Struktur verweist, die die angeforderte Arbeit beschreibt. Darüber hinaus sollte der PEP den NeedWork-Member der PEP_WORK-Struktur auf TRUE festlegen, um zu bestätigen, dass pep die PEP_DPM_WORK-Benachrichtigung verarbeitet hat und dass das WorkInformation-Element auf eine gültige PEP_WORK_INFORMATION-Struktur verweist. Wenn pep die Benachrichtigung nicht verarbeitet oder die PEP_WORK_INFORMATION-Struktur nicht zuordnen kann, sollte pep das WorkInformation-Element auf NULL und das NeedWork-Element auf FALSE festlegen.

Bei einer PEP_DPM_WORK Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_POWER_CONTROL_REQUEST

Benachrichtigung (PEP_DPM_POWER_CONTROL_REQUEST)

Der Wert PEP_DPM_POWER_CONTROL_REQUEST.

Daten (PEP_DPM_POWER_CONTROL_REQUEST)

Ein Zeiger auf eine PEP_POWER_CONTROL_REQUEST-Struktur .

Informiert den PEP, dass ein Treiber die PoFxPowerControl-API aufgerufen hat, um einen Steuercode direkt an pep zu senden.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep, wenn ein Treiber die PoFxPowerControl-API aufruft, um einen Steuerungscode direkt an pep zu senden. Der Benachrichtigungsdatenzeiger verweist in diesem Fall auf die PEP_POWER_CONTROL_REQUEST-Struktur.

Energiesteuerungsanforderungen und ihre Semantik werden zwischen dem PEP-Writer und dem Geräteklassenbesitzer definiert. In der Regel ist eine solche Schnittstelle für die geräteklassenspezifische Kommunikation vorgesehen, die nicht im generalisierten Energieverwaltungsframework erfasst wird. Der UART-Controller kann beispielsweise Baudrateninformationen an pep übermitteln, um einige Plattformuhrschienen/Trennlinien zu ändern, und eine solche Kommunikation würde wahrscheinlich eine Energiesteuerungsanforderung nutzen.

! [HINWEIS] Pep kann nur anfordern, einen Steuercode an das Gerät zu senden, nachdem es entweder eine PEP_DPM_DEVICE_STARTED-Benachrichtigung oder PEP_DPM_POWER_CONTROL_REQUEST Benachrichtigung erhalten hat.

Für eine PEP_DPM_POWER_CONTROL_REQUEST Benachrichtigung wird die AcceptDeviceNotification-Routine unter IRQL <= DISPATCH_LEVEL aufgerufen.

PEP_DPM_POWER_CONTROL_COMPLETE

Benachrichtigung (PEP_DPM_POWER_CONTROL_COMPLETE)

Der Wert PEP_DPM_POWER_CONTROL_COMPLETE.

Daten (PEP_DPM_POWER_CONTROL_COMPLETE)

Ein Zeiger auf eine PEP_POWER_CONTROL_COMPLETE-Struktur .

Informiert den PEP darüber, dass ein Treiber eine Energiesteuerungsanforderung abgeschlossen hat, die zuvor vom PEP ausgestellt wurde.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep, wenn ein Treiber eine zuvor vom PEP ausgestellte Energiesteuerungsanforderung abschließt.

! [HINWEIS] Der PEP kann diese Benachrichtigung ignorieren, wenn keine Energiesteuerungsanforderungen ausgegeben werden.

Für eine PEP_DPM_POWER_CONTROL_COMPLETE Benachrichtigung wird die AcceptDeviceNotification-Routine unter IRQL <= DISPATCH_LEVEL aufgerufen.

PEP_DPM_SYSTEM_LATENCY_UPDATE

Benachrichtigung (PEP_DPM_SYSTEM_LATENCY_UPDATE)

Der Wert PEP_DPM_SYSTEM_LATENCY_UPDATE.

Daten (PEP_DPM_SYSTEM_LATENCY_UPDATE)

Ein Zeiger auf eine PEP_SYSTEM_LATENCY-Struktur .

Teilt pep mit, dass das Betriebssystem die allgemeine Toleranz für die Systemlatenz aktualisiert hat.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn das Betriebssystem die Allgemeine Systemlatenztoleranz aktualisiert.

In früheren Versionen von PoFx wurde diese Benachrichtigung vom PEP für die Auswahl des Prozessors und des Plattform-Leerlaufzustands verwendet. Mit den neuesten PEP-Schnittstellen wird der Auswahlprozess vollständig vom Betriebssystem verarbeitet, und daher ist diese Benachrichtigung nicht mehr nützlich. Es ist hier aus Gründen der Vollständigkeit enthalten und der PEP sollte es ignorieren.

Um eine PEP_DPM_SYSTEM_LATENCY_UPDATE Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. Für diese Benachrichtigung wird die AcceptDeviceNotification-Routine unter IRQL <= DISPATCH_LEVEL aufgerufen.

PEP_DPM_DEVICE_STARTED

Benachrichtigung (PEP_DPM_DEVICE_STARTED)

Der Wert PEP_DPM_DEVICE_STARTED.

Daten (PEP_DPM_DEVICE_STARTED)

Ein Zeiger auf eine PEP_DEVICE_STARTED-Struktur .

Informiert pep, dass das Gerät gestartet wurde, damit es für den Empfang von Energiesteuerungstransaktionen verfügbar ist.

Gerätestapel werden beim Betriebssystem für die Laufzeitenergieverwaltung in einem zweistufigen Prozess registriert. Der Treiber ruft zuerst PoFxRegisterDevice auf, um Informationen über die Anzahl der Komponenten, deren Leerlaufstatus und die entsprechenden Attribute bereitzustellen. Als Reaktion auf diesen Aufruf erhält pep eine PEP_DPM_REGISTER_DEVICE Benachrichtigung.

Nach erfolgreicher Registrierung hat der Treiber die Möglichkeit, seine Komponenten zu initialisieren (z. B. festlegen, Anforderungen an die Updatewartezeit, erwartete Leerlaufresidenz usw.). Nachdem der Treiber Initialisierungsaufgaben abgeschlossen hat, benachrichtigt er den Power Manager durch Aufrufen von PoFxStartDevicePowerManagement. Als Antwort erhält pep eine PEP_DPM_DEVICE_STARTED Benachrichtigung. An diesem Punkt gilt das Gerät als vollständig für die Laufzeitenergieverwaltung aktiviert.

Daher kann pep keine Energiesteuerungsanforderungen an den Treiber ausgeben, es sei denn, er hat zuerst eine PEP_DPM_DEVICE_STARTED-Benachrichtigung oder eine PEP_DPM_POWER_CONTROL_REQUEST Benachrichtigung erhalten.

Hinweis

Der PEP kann diese Benachrichtigung ignorieren, wenn keine Energiesteuerungsanforderungen ausgegeben werden.

Für eine PEP_DPM_DEVICE_STARTED Benachrichtigung wird die AcceptDeviceNotification-Routine unter IRQL <= DISPATCH_LEVEL aufgerufen.

PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE

Benachrichtigung (PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE)

Der Wert PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE.

Daten (PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE)

Ein Zeiger auf eine PEP_NOTIFY_COMPONENT_IDLE_STATE-Struktur .

Wird an pep gesendet, wenn das Betriebssystem einen Übergangszustand im Leerlauf für eine bestimmte Komponente ausgibt.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn das Betriebssystem einen Zustandsübergang im Leerlauf für eine bestimmte Komponente ausgibt.

Wichtig

Der PEP muss diese Benachrichtigung verarbeiten.

Für jeden Leerlaufzustandsübergang wird pep vor und nach der Benachrichtigung des Treibers benachrichtigt. Der PEP unterscheidet zwischen Pre- und Post-Benachrichtigungen, indem der DriverNotified-Member der PEP_NOTIFY_COMPONENT_IDLE_STATE-Struktur untersucht wird. Bei einer post-Benachrichtigung ist das DriverNotified-Element TRUE.

Vorabbenachrichtigungen werden in der Regel beim Übergang zu F0 verwendet. In diesem Fall muss pep möglicherweise die Uhr- oder Energieressourcen erneut aktivieren, sodass die Hardware verfügbar ist, wenn der Treiber die F0-Benachrichtigung verarbeitet. Entsprechend werden Postbenachrichtigungen in der Regel verwendet, wenn sie von F0 in einen tieferen Leerlaufzustand übergehen. Nachdem ein Treiber die Benachrichtigung über den Leerlaufzustand verarbeitet hat, kann pep die Uhr und die Energieressourcen sicher deaktivieren.

Die Behandlung eines Übergangs im Leerlaufzustand für eine bestimmte Komponente erfordert möglicherweise eine asynchrone Verarbeitung, wenn der Vorgang eine erhebliche Zeit in Anspruch nimmt oder der IRQL zu hoch ist, um den Übergang synchron abzuschließen. Daher kann pep diese Benachrichtigung synchron oder asynchron abschließen, indem das Element Abgeschlossen auf TRUE bzw. FALSE festgelegt wird.

Wenn die Benachrichtigung asynchron abgeschlossen werden soll, benachrichtigt das PEP das Betriebssystem nach Abschluss, indem er einen Worker anfordert (siehe RequestWorker) und die bereitgestellte Arbeitsinformationsstruktur in der resultierenden PEP_DPM_WORK Benachrichtigung mithilfe eines Arbeitstyps von PepWorkCompleteIdleState ausfüllt.

Zum Senden einer PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE Benachrichtigung ruft PoFx die Rückrufroutine AcceptDeviceNotification von PEP auf. Diese Routine wird unter IRQL <= DISPATCH_LEVEL aufgerufen.

PEP_DPM_REGISTER_DEBUGGER

Benachrichtigung (PEP_DPM_REGISTER_DEBUGGER)

Der Wert PEP_DPM_REGISTER_DEBUGGER.

Daten (PEP_DPM_REGISTER_DEBUGGER)

Ein Zeiger auf eine PEP_REGISTER_DEBUGGER Struktur.

Informiert pep, dass ein registriertes Gerät als Debugport verwendet werden kann.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, um den PEP darüber zu informieren, dass ein registriertes Gerät als Debugport verwendet werden kann.

Für eine PEP_DPM_REGISTER_DEBUGGER Benachrichtigung wird die AcceptDeviceNotification-Routine unter IRQL <= DISPATCH_LEVEL aufgerufen.

PEP_DPM_LOW_POWER_EPOCH

Benachrichtigung (PEP_DPM_LOW_POWER_EPOCH)

Der Wert PEP_DPM_LOW_POWER_EPOCH.

Daten (PEP_DPM_LOW_POWER_EPOCH)

Ein Zeiger auf eine PEP_LOW_POWER_EPOCH-Struktur .

Diese Benachrichtigung ist veraltet.

PEP_DPM_REGISTER_CRASHDUMP_DEVICE

Benachrichtigung (PEP_DPM_REGISTER_CRASHDUMP_DEVICE)

Der Wert PEP_DPM_REGISTER_CRASHDUMP_DEVICE.

Daten (PEP_DPM_REGISTER_CRASHDUMP_DEVICE)

Ein Zeiger auf eine PEP_REGISTER_CRASHDUMP_DEVICE-Struktur .

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung, wenn ein Gerät als Absturzdumphandler registriert wird.

Die Möglichkeit, ein Speicherabbild (Crashdump) zu generieren, wenn das System auf einen schwerwiegenden Fehler stößt, ist für die Ermittlung der Absturzursache von unschätzbarem Wert. Windows generiert standardmäßig einen Absturzdump, wenn das System auf eine Fehlerüberprüfung stößt. In diesem Kontext befindet sich das System unter einer sehr eingeschränkten Betriebsumgebung mit deaktivierten Interrupts und dem IRQL des Systems bei HIGH_LEVEL.

Da Geräte, die am Schreiben eines Absturzdumps auf den Datenträger beteiligt sind (z. B. Speichercontroller, PCI-Controller usw.), zum Zeitpunkt des Absturzes möglicherweise heruntergefahren werden, muss das Betriebssystem den PEP aufrufen, um das Gerät einzuschalten. Daher fordert das Betriebssystem einen Rückruf (PowerOnDumpDeviceCallback) aus dem PEP für jedes Gerät im Absturzdump-Stapel an und ruft den Rückruf beim Generieren der Dumpdatei auf.

Angesichts der eingeschränkten Umgebung zum Zeitpunkt des Absturzes darf der vom PEP bereitgestellte Rückruf nicht auf ausgelagerten Code zugreifen, keine Ereignisse blockieren oder keinen Code aufrufen, der dasselbe tun kann. Darüber hinaus kann der Prozess des Einschaltens der erforderlichen Ressourcen nicht auf Unterbrechungen angewiesen sein. Daher muss pep möglicherweise rückgängig machen, wenn er auf die Aktivierung verschiedener Ressourcen warten muss. Wenn das PEP das Gerät unter diesen Einschränkungen nicht einschalten kann, sollte es entweder die Benachrichtigung nicht verarbeiten oder keine Rückrufroutine bereitstellen.

Zum Senden einer PEP_DPM_REGISTER_CRASHDUMP_DEVICE Benachrichtigung ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. Für diese Benachrichtigung wird die AcceptDeviceNotification-Routine unter IRQL <= HIGH_LEVEL aufgerufen.

PEP_DPM_DEVICE_IDLE_CONSTRAINTS

Benachrichtigung (PEP_DPM_DEVICE_IDLE_CONSTRAINTS)

Der Wert PEP_DPM_DEVICE_IDLE_CONSTRAINTS.

Daten (PEP_DPM_DEVICE_IDLE_CONSTRAINTS)

Ein Zeiger auf eine PEP_DEVICE_PLATFORM_CONSTRAINTS-Struktur . Wird an die PEP gesendet, um Abhängigkeiten zwischen Geräte-D-Zuständen und Plattform-Leerlaufzuständen abzufragen.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an das PEP, um Abhängigkeiten zwischen Geräte-D-Zuständen und Plattform-Leerlaufzuständen abzufragen. Der PEP verwendet diese Benachrichtigung, um den leichtesten D-Zustand zurückzugeben, in dem sich das Gerät noch befinden kann, und gibt jeden Plattform-Leerlaufzustand ein. Das Betriebssystem garantiert, dass sich das Gerät im D-Mindestzustand befindet, bevor es in einen zugehörigen Plattform-Leerlaufzustand wechselt. Wenn ein Plattform-Leerlaufzustand nicht davon abhängt, dass sich dieses Gerät in einem D-Zustand befindet, sollte der PEP einen Mindestens-D-Zustand von PowerDeviceD0 angeben. Wenn keine Plattform-Leerlaufzustände davon abhängen, dass sich dieses Gerät in einem bestimmten D-Zustand befindet, kann diese Benachrichtigung ignoriert werden.

Diese Benachrichtigung wird an jedes Gerät gesendet, nachdem pep die PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES Benachrichtigung erhalten hat.

Zum Senden einer PEP_DPM_DEVICE_IDLE_CONSTRAINTS Benachrichtigung ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Benachrichtigungsparameters PEP_DPM_DEVICE_IDLE_CONSTRAINTS, und der Data-Parameter verweist auf eine PEP_DEVICE_PLATFORM_CONSTRAINTS-Struktur.

Bei einer PEP_DPM_DEVICE_IDLE_CONSTRAINTS Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = DISPATCH_LEVEL aufgerufen.

PEP_DPM_COMPONENT_IDLE_CONSTRAINTS

Benachrichtigung (PEP_DPM_COMPONENT_IDLE_CONSTRAINTS)

Der Wert PEP_DPM_COMPONENT_IDLE_CONSTRAINTS.

Daten (PEP_DPM_COMPONENT_IDLE_CONSTRAINTS)

Ein Zeiger auf eine PEP_COMPONENT_PLATFORM_CONSTRAINTS-Struktur .

Wird an das PEP gesendet, um Abhängigkeiten zwischen Komponenten-F-Zuständen und Plattform-Leerlaufzuständen abzufragen.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an das PEP, um Abhängigkeiten zwischen Komponenten-F-Zuständen und Plattform-Leerlaufzuständen abzufragen. Pep verwendet diese Benachrichtigung, um den hellsten F-Zustand zurückzugeben, in dem sich die Komponente noch befinden kann, und in jeden Plattform-Leerlaufzustand zu wechseln. Das Betriebssystem garantiert, dass sich die Komponente im minimalen F-Zustand befindet, bevor sie in einen zugeordneten Plattform-Leerlaufzustand wechselt. Wenn ein Plattform-Leerlaufzustand nicht davon abhängt, dass sich diese Komponente in einem F-Zustand befindet, sollte der PEP den Mindestzustand F von 0 angeben. Wenn keine Plattform-Leerlaufzustände davon abhängen, dass sich diese Komponente in einem bestimmten F-Zustand befindet, kann diese Benachrichtigung ignoriert werden.

Geräte-Leerlaufeinschränkungen, die tiefer als D0 sind, sind einschränkender als Komponenten-Leerlaufzustände für Komponenten auf dem Gerät. Wenn das Gerät für einen bestimmten Plattform-Leerlaufstatusindex eine Leerlaufeinschränkung des Geräts angegeben hat, wird die entsprechende Komponenten-Leerlaufeinschränkung für alle komponenten ignoriert, die dem Gerät zugeordnet sind.

Diese Benachrichtigung wird an jede Komponente auf jedem Gerät gesendet, nachdem pep eine PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES Benachrichtigung erhalten hat.

Zum Senden einer PEP_DPM_COMPONENT_IDLE_CONSTRAINTS Benachrichtigung ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. Die AcceptDeviceNotification-Routine wird immer unter IRQL = DISPATCH_LEVEL aufgerufen.

PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES

Benachrichtigung (PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES)

Der Wert PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES.

Daten (PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES)

Ein Zeiger auf eine PEP_QUERY_COMPONENT_PERF_CAPABILITIES-Struktur .

Informiert den PEP darüber, dass er nach der Anzahl der Leistungsstatussätze (P-Zustand) abgefragt wird, die für eine Komponente definiert sind.

Zum Senden einer PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES Benachrichtigung ruft PoFx die Rückrufroutine AcceptDeviceNotification von PEP auf. In diesem Aufruf wird der Wert des Benachrichtigungsparameters PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, und der Data-Parameter verweist auf eine PEP_QUERY_COMPONENT_PERF_CAPABILITIES-Struktur.

Bei einer PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_QUERY_COMPONENT_PERF_SET

Benachrichtigung (PEP_DPM_QUERY_COMPONENT_PERF_SET)

Der Wert PEP_DPM_QUERY_COMPONENT_PERF_SET.

Daten (PEP_DPM_QUERY_COMPONENT_PERF_SET)

Ein Zeiger auf eine PEP_QUERY_COMPONENT_PERF_SET-Struktur .

Informiert das PEP darüber, dass es nach Informationen zu einem Satz von Leistungszustandswerten (P-Zustandssatz) für eine Komponente abgefragt wird.

Zum Senden einer PEP_DPM_QUERY_COMPONENT_PERF_SET Benachrichtigung ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Benachrichtigungsparameters PEP_DPM_QUERY_COMPONENT_PERF_SET, und der Data-Parameter verweist auf eine PEP_QUERY_COMPONENT_PERF_SET Struktur.

Für eine PEP_DPM_QUERY_COMPONENT_PERF_SET Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME

Benachrichtigung (OPEP_DPM_QUERY_COMPONENT_PERF_SET_NAME)

Der Wert PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME.

Daten (OPEP_DPM_QUERY_COMPONENT_PERF_SET_NAME)

Ein Zeiger auf eine PEP_QUERY_COMPONENT_PERF_SET_NAME-Struktur .

Informiert das PEP darüber, dass es nach Informationen zu einem Satz von Leistungszustandswerten (P-Zustandssatz) für eine Komponente abgefragt wird.

Zum Senden einer PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME Benachrichtigung ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Benachrichtigungsparameterwert PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME, und der Data-Parameter verweist auf eine PEP_QUERY_COMPONENT_PERF_SET_NAME-Struktur.

Für eine PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_QUERY_COMPONENT_PERF_STATES

Benachrichtigung (PEP_DPM_QUERY_COMPONENT_PERF_STATES)

Der Wert PEP_DPM_QUERY_COMPONENT_PERF_STATES.

Daten (PEP_DPM_QUERY_COMPONENT_PERF_STATES)

Ein Zeiger auf eine PEP_QUERY_COMPONENT_PERF_STATES-Struktur .

Informiert das PEP, dass eine Liste mit diskreten Leistungszustandswerten (P-State) für einen angegebenen P-Zustandssatz abgefragt wird.

Um eine PEP_DPM_QUERY_COMPONENT_PERF_STATES Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf ist der Wert des Notification-Parameters PEP_DPM_QUERY_COMPONENT_PERF_STATES, und der Data-Parameter verweist auf eine PEP_QUERY_COMPONENT_PERF_STATES-Struktur.

Für eine PEP_DPM_QUERY_COMPONENT_PERF_STATES Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_REGISTER_COMPONENT_PERF_STATES

Benachrichtigung (PEP_DPM_REGISTER_COMPONENT_PERF_STATES)

Der Wert PEP_DPM_REGISTER_COMPONENT_PERF_STATES.

Daten (PEP_DPM_REGISTER_COMPONENT_PERF_STATES)

Ein Zeiger auf eine PEP_REGISTER_COMPONENT_PERF_STATES-Struktur .

Informiert pep über die Leistungszustände (P-Zustände) der angegebenen Komponente.

Um eine PEP_DPM_REGISTER_COMPONENT_PERF_STATES Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf ist der Wert des Notification-Parameters PEP_DPM_REGISTER_COMPONENT_PERF_STATES, und der Parameter Data verweist auf eine PEP_REGISTER_COMPONENT_PERF_STATES-Struktur.

Für eine PEP_DPM_REGISTER_COMPONENT_PERF_STATES Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_REQUEST_COMPONENT_PERF_STATE

Benachrichtigung (PEP_DPM_REQUEST_COMPONENT_PERF_STATE)

Der Wert PEP_DPM_REQUEST_COMPONENT_PERF_STATE.

Daten (PEP_DPM_REQUEST_COMPONENT_PERF_STATE)

Ein Zeiger auf eine PEP_REQUEST_COMPONENT_PERF_STATE-Struktur.

Informiert pep, dass mindestens eine Änderung des Leistungszustands (P-Status) vom Windows Power Management Framework (PoFx) angefordert wird.

Um eine PEP_DPM_REQUEST_COMPONENT_PERF_STATE Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_DPM_REQUEST_COMPONENT_PERF_STATE, und der Data-Parameter verweist auf eine PEP_REQUEST_COMPONENT_PERF_STATE-Struktur.

Für eine PEP_DPM_REQUEST_COMPONENT_PERF_STATE Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE

Benachrichtigung (PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE)

Der Wert PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE.

Daten (PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE)

Ein Zeiger auf eine PEP_QUERY_CURRENT_COMPONENT_PERF_STATE-Struktur.

Informiert pep, dass informationen zum aktuellen P-Zustand im angegebenen P-Zustandssatz abgefragt werden.

Um eine PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. In diesem Aufruf wird der Wert des Notification-Parameters PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE, und der Data-Parameter verweist auf eine PEP_QUERY_CURRENT_COMPONENT_PERF_STATE-Struktur.

Bei einer PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = PASSIVE_LEVEL aufgerufen.

PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS

Benachrichtigung (PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS)

Der Wert PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS.

Daten (PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS)

Ein Zeiger auf eine PEP_DEBUGGER_TRANSITION_REQUIREMENTS-Struktur .

Wird an pep gesendet, um den Satz von koordinierten oder Plattformzuständen abzufragen, für die der Debugger ausgeschaltet werden muss.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep, um den Satz von koordinierten oder Plattformzuständen abzufragen, für die das Ausschalten des Debuggers erforderlich ist. Wenn diese Benachrichtigung akzeptiert wird, führt das Betriebssystem alle Debugger-Energieübergänge für pep aus, und pep verwendet möglicherweise nicht TransitionCriticalResource, um den Debugger mit Energie zu verwalten.

Diese Benachrichtigung wird an jedes Debuggergerät gesendet, nachdem pep eine PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE- oder PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES benachrichtigung akzeptiert hat.

Um eine PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. Für diese Benachrichtigung wird die AcceptDeviceNotification-Routine immer unter IRQL = DISPATCH_LEVEL aufgerufen.

PEP_DPM_QUERY_SOC_SUBSYSTEM

Benachrichtigung (PEP_DPM_QUERY_SOC_SUBSYSTEM)

Der Wert PEP_DPM_QUERY_SOC_SUBSYSTEM.

Daten (PEP_DPM_QUERY_SOC_SUBSYSTEM)

Ein Zeiger auf eine PEP_QUERY_SOC_SUBSYSTEM-Struktur .

Wird an pep gesendet, um grundlegende Informationen über ein bestimmtes System-on-a-Chip-Subsystem (SoC) zu sammeln.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung an pep, nachdem der Plattform-Leerlaufstatus initialisiert wurde, um grundlegende Informationen zu einem bestimmten SoC-Subsystem zu sammeln. Ein PEP, der die SoC-Subsystembuchhaltung nicht implementiert oder für den angegebenen Plattform-Leerlaufzustand nicht implementiert, gibt FALSE zurück. Dies weist das Betriebssystem an, das Senden von Diagnosebenachrichtigungen an pep für diesen Plattform-Leerlaufzustand zu beenden.

Die SubsystemCount eines Systems und die MetadataCount eines Subsystems können sich mit PEP/BSP-Updates ändern. SubsystemIndex kann sich bei jedem Start des Betriebssystems ändern.

Wichtig

Pep kann diese Benachrichtigung nicht ignorieren. Pep empfängt diese Benachrichtigung, weil es auf die PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT Benachrichtigung für diese PlatformIdleStateIndex mit einem SubsystemCount ungleich Null reagiert hat.

Um eine PEP_DPM_QUERY_SOC_SUBSYSTEM Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP bei IRQL < DISPATCH_LEVEL auf.

PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME

Benachrichtigung (PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME)

Der Wert PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME.

Daten (PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME)

Ein Zeiger auf eine PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME-Struktur .

Wird an pep gesendet, wenn das Betriebssystem die Zeit erfassen möchte, die ein bestimmtes SoC-Subsystem (System on a Chip) den Eintritt in einen bestimmten Plattform-Leerlaufzustand ohne Wissen des Betriebssystems blockiert hat.

In der Regel ruft das Betriebssystem diese Benachrichtigung am Ende einer erweiterten verbundenen Standbysitzung auf, in der das Betriebssystem versucht hat, in den angegebenen Plattform-Leerlaufzustand zu wechseln. Die PEP_QUERY_SOC_SUBSYSTEM_COUNT. Der SubsystemCount-Wert, der zuvor vom PEP während der Initialisierung des Teilkomponentens eingegeben wurde, gibt an, wie viele PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME Benachrichtigungen gleichzeitig an pep gesendet werden. Ein PEP kann mehrere PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME Benachrichtigungen für ein bestimmtes Subsystem empfangen. Diese Benachrichtigungen können mit PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING Benachrichtigungen überlappen oder nicht.

Wichtig

Pep kann diese Benachrichtigung nicht ignorieren. Pep empfängt diese Benachrichtigung, weil es auf die PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT Benachrichtigung für diese PlatformIdleStateIndex mit einem SubsystemCount ungleich Null reagiert hat.

Um eine PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP im IRQL-DISPATCH_LEVEL < auf.

PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT

Benachrichtigung (PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT)

Der Wert PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT.

Daten (PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT)

Ein Zeiger auf eine PEP_QUERY_SOC_SUBSYSTEM_COUNT-Struktur .

Wird an pep gesendet, nachdem der Plattform-Leerlaufstatus initialisiert wurde, um dem Betriebssystem mitzuteilen, ob das PEP das System-auf-einem-Chip-Subsystem (SoC) unterstützt, das einen bestimmten Plattform-Leerlaufzustand berücksichtigt.

Dies ist die erste Diagnosebenachrichtigung des SoC-Subsystems, die an pep gesendet wird. Ein PEP, das die SoC-Subsystembuchhaltung nicht implementiert oder für den angegebenen Plattform-Leerlaufzustand nicht implementiert, gibt FALSE zurück. In diesem Fall sendet das Betriebssystem dem PEP keine SoC-Subsystemdiagnosebenachrichtigungen mehr für diesen Plattform-Leerlaufzustand.

Hinweis

Pep kann diese Benachrichtigung ignorieren, wenn es keine SoC-Diagnosebenachrichtigungen für den angegebenen Plattform-Leerlaufzustand implementiert.

Um eine PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP im IRQL-DISPATCH_LEVEL < auf.

PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA

Benachrichtigung (PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA)

Der Wert PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA.

Daten (PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA)

Ein Zeiger auf eine PEP_QUERY_SOC_SUBSYSTEM_METADATA-Struktur.

Wird an pep gesendet, um optionale Metadaten über das Subsystem zu sammeln, dessen Blockierungszeit gerade abgefragt wurde.

Diese Benachrichtigung wird in der Regel unmittelbar nach einer PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME Benachrichtigung an pep gesendet. Eine PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA Benachrichtigung erfasst alle Schlüssel-Wert-Metadatenpaare, die das Subsystem beschreiben.

Wichtig

Pep kann diese Benachrichtigung nicht ignorieren. Pep empfängt diese Benachrichtigung, weil es auf die PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT Benachrichtigung für diese PlatformIdleStateIndex mit einem SubsystemCount ungleich Null reagiert hat.

Um eine PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP auf. Für diese Benachrichtigung wird die AcceptDeviceNotification-Routine am IRQL-DISPATCH_LEVEL < aufgerufen.

PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING

Benachrichtigung (PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING)

Der Wert PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING.

Daten (PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING)

Ein Zeiger auf einen A-Zeiger auf eine PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING-Struktur . Struktur.

Wird an das PEP gesendet, um alle Subsystemblockierzeiten und Metadatenabrechnung zu löschen, alle erforderlichen zusätzlichen Initialisierungen durchzuführen und die Buchhaltung neu zu starten.

Das Windows Power Management Framework (PoFx) sendet diese Benachrichtigung jederzeit an pep, nachdem alle Subsysteme mit dem Betriebssystem initialisiert wurden. In der Regel wird diese Benachrichtigung aufgerufen, wenn das Betriebssystem eine neue Analysephase beginnt, um zu ermitteln, was das System on a Chip (SoC) aus dem angegebenen Plattform-Leerlaufzustand fernhält (zielt DRIPS beim Eintritt in den verbundenen Standby). Das Betriebssystem sendet diese Benachrichtigung nur für Plattform-Leerlaufzustände, für die pep ein oder mehrere SoC-Subsysteme initialisiert hat.

Um eine PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING Benachrichtigung zu senden, ruft PoFx die Rückrufroutine AcceptDeviceNotification des PEP bei IRQL < DISPATCH_LEVEL auf.