Notifications de gestion de l’alimentation des appareils (DPM)

Chaque notification de gestion de l’alimentation des appareils (DPM) que reçoit la routine de rappel AcceptDeviceNotification du PEP est accompagnée d’un paramètre Notification qui indique le type de notification et d’un paramètre Data qui pointe vers une structure de données qui contient les informations du type de notification spécifié.

Dans cet appel, le paramètre Notification est défini sur une valeur constante PEP_DPM_XXX qui indique le type de notification. Le paramètre Data pointe vers un type de structure PEP_XXX associé à ce type de notification.

Notification ID Valeur Structure associée
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

ID de notification

Les ID de notification DPM suivants sont utilisés par la routine de rappel AcceptDeviceNotification.

PEP_DPM_PREPARE_DEVICE

Notification (PEP_DPM_PREPARE_DEVICE)

Valeur PEP_DPM_PREPARE_DEVICE.

Données (PEP_DPM_PREPARE_DEVICE)

Pointeur vers une structure PEP_PREPARE_DEVICE . Indique au PEP propriétaire de l’appareil spécifié de configurer l’appareil pour qu’il fonctionne à l’état d’alimentation de l’appareil D0 (fonctionnement).

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP avant que la pile de pilotes d’un appareil ne soit démarrée pour la première fois par le système d’exploitation. Cette notification permet au PEP d’activer toutes les ressources d’alimentation ou d’horloge externes nécessaires au fonctionnement de l’appareil.

Pour envoyer une notification PEP_DPM_PREPARE_DEVICE, le système d’exploitation appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_PREPARE_DEVICE et le paramètre Data pointe vers une structure PEP_PREPARE_DEVICE. Lors de l’entrée, le membre DeviceId de cette structure est une chaîne d’identification d’appareil qui identifie de manière unique un appareil. Avant de retourner l’appareil, le PEP définit le membre DeviceAccepted de cette structure sur TRUE pour revendiquer la propriété de l’appareil, ou sur FALSE pour indiquer qu’il n’est pas propriétaire de l’appareil.

Le PEP propriétaire de la gestion de l’alimentation d’un appareil est responsable de la gestion des ressources d’alimentation et d’horloge externes à l’appareil et qui sont nécessaires au fonctionnement de l’appareil. Ce PEP active le signal d’horloge et l’alimentation de l’appareil en réponse à une notification de PEP_DPM_PREPARE_DEVICE, et supprime le signal d’horloge et l’alimentation de l’appareil en réponse à une notification PEP_DPM_ABANDON_DEVICE.

Le tableau suivant indique les conditions préalables qui sont en vigueur lorsque ce système d’exploitation envoie une notification de PEP_DPM_PREPARE_DEVICE au PEP, ainsi que les postconditions qui doivent être en vigueur après que le PEP ait géré cette notification pour un appareil dont il est propriétaire.

Preconditions Postconditions
L’appareil peut être dans n’importe quel état d’alimentation. Si le PEP revendique la propriété de l’appareil, l’appareil et tous ses composants doivent être activés, et les horloges de l’appareil doivent être annulées.
Le PEP peut recevoir des notifications PEP_DPM_PREPARE_DEVICE pour plusieurs appareils lorsque le gestionnaire d’alimentation tente de trouver des propriétaires PEP pour ces appareils. Le PEP doit définir le membre DeviceAccepted de la structure PEP_PREPARE_DEVICE sur FALSE pour tous les appareils dont le PEP n’est pas propriétaire.

Aucune notification PEP_DPM_PREPARE_DEVICE n’est envoyée pour les appareils principaux.

Pour une notification PEP_DPM_PREPARE_DEVICE, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_ABANDON_DEVICE

Notification (PEP_DPM_ABANDON_DEVICE)

Valeur PEP_DPM_ABANDON_DEVICE.

Données (PEP_DPM_ABANDON_DEVICE)

Pointeur vers une structure PEP_ABANDON_DEVICE . Indique au PEP que l’appareil spécifié n’est plus utilisé par le système d’exploitation.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP après que le système d’exploitation a supprimé la pile de pilotes d’un appareil. Cette notification permet au PEP de désactiver toutes les ressources d’alimentation ou d’horloge externes utilisées pour faire fonctionner l’appareil, et de supprimer cet appareil des futurs processus de prise de décision. Si l’appareil doit être redémarr ultérieurement, le PEP recevra d’abord une notification PEP_DPM_PREPARE_DEVICE.

Pour envoyer une notification PEP_DPM_ABANDON_DEVICE, le système d’exploitation appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_ABANDON_DEVICE et le paramètre Data pointe vers une structure PEP_ABANDON_DEVICE. Lors de l’entrée, le membre DeviceId de cette structure est une chaîne d’identification d’appareil qui identifie de manière unique un appareil. Avant de retourner l’appareil, le PEP définit le membre DeviceAccepted de cette structure sur TRUE pour revendiquer la propriété de l’appareil, ou sur FALSE pour indiquer qu’il n’est pas propriétaire de l’appareil.

Le PEP propriétaire de la gestion de l’alimentation d’un appareil est responsable de la gestion des ressources d’alimentation et d’horloge externes à l’appareil et qui sont nécessaires au fonctionnement de l’appareil.

Le tableau suivant indique les conditions préalables qui sont en vigueur lorsque ce système d’exploitation envoie une notification PEP_DPM_ABANDON_DEVICE au PEP, ainsi que les postconditions qui doivent être en vigueur après que le PEP ait géré cette notification pour un appareil dont il est propriétaire.

Preconditions Postconditions
Le PEP a reçu une notification PEP_DPM_PREPARE_DEVICE pour l’appareil et accepté la propriété de l’appareil.
Si le PEP a reçu une notification PEP_DPM_REGISTER_DEVICE pour l’appareil et a accepté l’inscription de l’appareil, il a ensuite reçu une notification PEP_DPM_UNREGISTER_DEVICE pour l’appareil.
Toutes les ressources qui ont été allouées en réponse à la notification PEP_DPM_PREPARE_DEVICE doivent être libérées.
Pour une notification PEP_DPM_PREPARE_DEVICE, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_REGISTER_DEVICE

Notification (PEP_DPM_REGISTER_DEVICE)

Valeur PEP_DPM_REGISTER_DEVICE.

Données (PEP_DPM_REGISTER_DEVICE)

Pointeur vers une structure PEP_REGISTER_DEVICE_V2 .

Indique au PEP que la pile de pilotes de l’appareil spécifié s’est inscrite auprès de l’infrastructure de gestion de l’alimentation Windows (PoFx).

PoFx envoie cette notification lorsque la pile de pilotes de l’appareil appelle la routine PoFxRegisterDevice pour inscrire l’appareil. Cette notification permet au PEP de copier les informations d’inscription de l’appareil dans le stockage interne du PEP pour référence ultérieure.

Pour envoyer une notification PEP_DPM_REGISTER_DEVICE, le système d’exploitation appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_REGISTER_DEVICE, et le paramètre Data pointe vers une structure de PEP_REGISTER_DEVICE_V2 qui contient le handle du noyau de l’appareil et d’autres informations d’inscription. Lors de l’entrée, le membre DeviceId de cette structure est une chaîne d’identification d’appareil qui identifie de manière unique un appareil. Avant de retourner l’appareil, le PEP définit le membre DeviceAccepted de cette structure sur TRUE pour revendiquer la propriété de l’appareil, ou sur FALSE pour indiquer qu’il n’est pas propriétaire de l’appareil. Pour plus d’informations sur les autres membres de cette structure, consultez PEP_REGISTER_DEVICE_V2.

Le tableau suivant indique les conditions préalables qui sont en vigueur lorsque ce système d’exploitation envoie une notification PEP_DPM_REGISTER_DEVICE au PEP, ainsi que les postconditions qui doivent être en vigueur après que le PEP ait géré cette notification pour un appareil dont il est propriétaire.

Preconditions Postconditions
Le PEP a reçu une notification PEP_DPM_PREPARE_DEVICE pour un appareil qu’il possède. Le PEP est prêt à recevoir d’autres notifications de gestion de l’alimentation des appareils (DPM) associées à cet appareil.

Pour une notification PEP_DPM_REGISTER_DEVICE, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_UNREGISTER_DEVICE

Notification (PEP_DPM_UNREGISTER_DEVICE)

Valeur PEP_DPM_UNREGISTER_DEVICE.

Données (PEP_DPM_UNREGISTER_DEVICE)

Pointeur vers une structure PEP_UNREGISTER_DEVICE .

Indique au PEP propriétaire de l’appareil spécifié que la pile de pilotes de l’appareil a retiré son inscription de l’infrastructure de gestion de l’alimentation Windows (PoFx).

PoFx envoie cette notification pour informer le PEP que les informations d’inscription que le PEP a stockées pour l’appareil lors de la notification PEP_DPM_REGISTER_DEVICE précédente ne sont plus valides. En réponse, le PEP peut propre n’importe quel état interne utilisé pour la gestion de l’alimentation de cet appareil.

Pour envoyer une notification PEP_DPM_UNREGISTER_DEVICE, le système d’exploitation appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_UNREGISTER_DEVICE et le paramètre Data pointe vers une structure PEP_UNREGISTER_DEVICE. Cette structure contient le handle que le PEP a créé en réponse à la notification PEP_DPM_REGISTER_DEVICE précédente pour l’appareil.

Le tableau suivant montre les conditions préalables qui sont en vigueur lorsque ce système d’exploitation envoie une notification PEP_DPM_UNREGISTER_DEVICE au PEP, ainsi que les postconditions qui doivent être en vigueur après que le PEP a géré cette notification pour un appareil dont il est propriétaire.

Preconditions Postconditions
Si le PEP a reçu une notification PEP_DPM_REGISTER_DEVICE pour l’appareil et a accepté l’inscription de l’appareil.
Le PEP peut recevoir toutes les notifications de gestion de l’alimentation des appareils (DPM) associées à cet appareil.
Le PEP peut signaler le « travail » associé à cet appareil.
Le PEP ne peut plus recevoir de notifications de gestion de l’alimentation des appareils (DPM) associées à cet appareil, à l’exception des PEP_DPM_ABANDON_DEVICE.
Le PEP ne peut pas signaler de « travail » associé à cet appareil.

Pour une notification PEP_DPM_UNREGISTER_DEVICE, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_DEVICE_POWER_STATE

Notification (PEP_DPM_DEVICE_POWER_STATE)

Valeur PEP_DPM_DEVICE_POWER_STATE.

Données (PEP_DPM_DEVICE_POWER_STATE)

Pointeur vers une structure PEP_DEVICE_POWER_STATE .

Envoyé au PEP chaque fois que la pile de pilotes de l’appareil demande une modification d’un nouvel état d’alimentation Dx ou une transition précédemment demandée vers un état d’alimentation Dx se termine.

Une fois que le PEP a appelé la routine RequestWorker pour demander un élément de travail, PoFx répond en envoyant au PEP une notification PEP_DPM_DEVICE_POWER_STATE. Toutefois, cette notification n’est pas envoyée tant que les ressources (autrement dit, le thread de travail) nécessaires au traitement de l’élément de travail ne sont pas disponibles. De cette façon, PoFx garantit que la demande de travail que le PEP transmet à PoFx pendant la notification ne peut jamais échouer en raison d’un manque de ressources.

Pour envoyer une notification PEP_DPM_DEVICE_POWER_STATE, le système d’exploitation appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_DEVICE_POWER_STATE et le paramètre Data pointe vers une structure PEP_DEVICE_POWER_STATE. Lors de l’entrée, le PEP doit supposer que le contenu de cette structure n’est pas initialisé. Pour gérer cette notification, le PEP doit définir le membre WorkInformation pour qu’il pointe vers une structure de PEP_WORK_INFORMATION allouée par pep qui décrit le travail demandé. En outre, le PEP doit définir le membre NeedWork de la structure PEP_WORK sur TRUE pour confirmer que le PEP a géré la notification PEP_DEVICE_POWER_STATE et que le membre WorkInformation pointe vers une structure PEP_WORK_INFORMATION valide. Si le PEP ne parvient pas à gérer la notification ou ne parvient pas à allouer la structure PEP_WORK_INFORMATION, le PEP doit définir le membre WorkInformation sur NULL et définir le membre NeedWork sur FALSE.

Pour une notification PEP_DPM_DEVICE_POWER_STATE, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_COMPONENT_ACTIVE

Notification (PEP_DPM_COMPONENT_ACTIVE)

Valeur PEP_DPM_COMPONENT_ACTIVE.

Données (PEP_DPM_COMPONENT_ACTIVE)

Pointeur vers une structure de PEP_COMPONENT_ACTIVE qui identifie le composant et qui indique si ce composant effectue une transition vers la condition active ou vers la condition inactive.

Informe le pep qu’un composant doit effectuer une transition de la condition inactive à la condition active, ou vice versa.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsqu’une transition est en attente vers la condition active ou vers la condition d’inactivité.

Pour envoyer une notification PEP_DPM_COMPONENT_ACTIVE, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_COMPONENT_ACTIVE et le paramètre Data pointe vers une structure PEP_COMPONENT_ACTIVE.

Un composant accessible est dans l’état actif. Un composant inaccessible se trouve dans un état d’inactivité. Un composant qui est dans l’état actif est toujours dans l’état d’alimentation du composant F0. Le composant ne peut pas quitter F0 tant qu’il n’entre pas dans la condition d’inactivité. Un composant qui se trouve dans un état d’inactivité peut être en F0 ou dans un état Fx de faible puissance. La condition active/inactive d’un composant est le seul moyen fiable pour un pilote de déterminer si un composant est accessible. Un composant qui est en F0 mais qui est également dans l’état inactif peut être sur le point de passer à un état Fx de faible puissance.

Lorsqu’un composant actif est prêt à entrer dans la condition d’inactivité, la transition se produit immédiatement. Pendant la gestion de la notification PEP_DPM_COMPONENT_ACTIVE, le pep peut, par exemple, demander une transition de F0 à un état Fx de faible puissance pour le composant.

Si un composant est dans un état Fx de faible puissance lorsqu’une notification PEP_DPM_COMPONENT_ACTIVE demande une transition de la condition inactive à la condition active, le pep doit d’abord basculer le composant vers F0 avant que le composant puisse entrer dans la condition active. Le pep peut avoir besoin de terminer la préparation du composant pour la transition vers la condition active de façon asynchrone, après le retour du rappel AcceptDeviceNotification pour la notification PEP_DPM_COMPONENT_ACTIVE. Une fois que le composant est entièrement configuré pour fonctionner dans la condition active, le pep doit appeler la routine RequestWorker, puis gérer la notification PEP_DPM_WORK résultante en définissant WorkType = PepWorkActiveComplete dans la structure PEP_WORK_INFORMATION.

Si le pep reçoit une notification PEP_DPM_COMPONENT_ACTIVE pour un composant qui est en F0 et qui est déjà entièrement configuré pour fonctionner dans la condition active, il peut être en mesure de terminer la gestion synchrone de cette notification. Si la gestion du chemin d’accès rapide de la notification est prise en charge, le membre WorkInformation de la structure PEP_COMPONENT_ACTIVE pour cette notification contient un pointeur vers une structure PEP_WORK_INFORMATION, et le PEP peut définir le membre WorkType de cette structure sur PepWorkActiveComplete pour terminer la transition. Toutefois, si WorkInformation = NULL, aucun « chemin rapide » n’est disponible et le pep doit effectuer la transition de manière asynchrone en appelant RequestWorker, comme décrit dans le paragraphe précédent.

Pour plus d’informations sur les conditions actives et inactives, consultez Gestion de l’alimentation au niveau des composants.

Pour une notification PEP_DPM_COMPONENT_ACTIVE, la routine AcceptDeviceNotification est appelée dans IRQL <= DISPATCH_LEVEL.

PEP_DPM_WORK

Notification (PEP_DPM_WORK)

Valeur PEP_DPM_WORK.

Données (PEP_DPM_WORK)

Pointeur vers une structure PEP_WORK .

Envoyé au pep une fois chaque fois que le PEP appelle la routine RequestWorker pour demander un élément de travail à partir de l’infrastructure de gestion de l’alimentation Windows (PoFx).

Une fois que le peps a appelé la routine RequestWorker pour demander un élément de travail, PoFx répond en lui envoyant une notification PEP_DPM_WORK. Toutefois, cette notification n’est pas envoyée tant que les ressources (autrement dit, le thread de travail) nécessaires pour traiter l’élément de travail ne sont pas disponibles. De cette façon, PoFx garantit que la demande de travail que le PEP transmet à PoFx pendant la notification ne peut jamais échouer en raison d’un manque de ressources.

Pour envoyer une notification PEP_DPM_WORK, le système d’exploitation appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_WORK et le paramètre Data pointe vers une structure PEP_WORK. Lors de l’entrée, le pep doit supposer que le contenu de cette structure n’est pas initialisé. Pour gérer cette notification, le pep doit définir le membre WorkInformation de façon à ce qu’il pointe vers une structure de PEP_WORK_INFORMATION allouée par peps qui décrit le travail demandé. En outre, le pep doit définir le membre NeedWork de la structure PEP_WORK sur TRUE pour confirmer que le pep a géré la notification PEP_DPM_WORK et que le membre WorkInformation pointe vers une structure PEP_WORK_INFORMATION valide. Si le pep ne parvient pas à gérer la notification ou ne parvient pas à allouer la structure PEP_WORK_INFORMATION, le pep doit définir le membre WorkInformation sur NULL et définir le membre NeedWork sur FALSE.

Pour une notification PEP_DPM_WORK, la routine AcceptDeviceNotification est toujours appelée dans IRQL = PASSIVE_LEVEL.

PEP_DPM_POWER_CONTROL_REQUEST

Notification (PEP_DPM_POWER_CONTROL_REQUEST)

Valeur PEP_DPM_POWER_CONTROL_REQUEST.

Données (PEP_DPM_POWER_CONTROL_REQUEST)

Pointeur vers une structure PEP_POWER_CONTROL_REQUEST .

Informe le PEP qu’un pilote a appelé l’API PoFxPowerControl pour envoyer un code de contrôle directement au PEP.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP lorsqu’un pilote appelle l’API PoFxPowerControl pour envoyer un code de contrôle directement au PEP. Dans ce cas, le pointeur de données de notification pointe vers la structure PEP_POWER_CONTROL_REQUEST

Les demandes de contrôle d’alimentation et leur sémantique sont définies entre l’enregistreur PEP et le propriétaire de la classe d’appareil. En règle générale, une telle interface est destinée à une communication spécifique à la classe d’appareil qui n’est pas capturée dans l’infrastructure de gestion de l’alimentation généralisée. Par exemple, le contrôleur UART peut communiquer des informations sur le débit en bauds au PEP pour modifier certains rails/séparateurs d’horloge de plateforme et cette communication tirerait probablement parti d’une demande de contrôle d’alimentation.

! [REMARQUE] Le pep ne peut demander à envoyer un code de contrôle à l’appareil qu’après avoir reçu une notification PEP_DPM_DEVICE_STARTED ou PEP_DPM_POWER_CONTROL_REQUEST notification.

Pour une notification PEP_DPM_POWER_CONTROL_REQUEST, la routine AcceptDeviceNotification est appelée dans IRQL <= DISPATCH_LEVEL.

PEP_DPM_POWER_CONTROL_COMPLETE

Notification (PEP_DPM_POWER_CONTROL_COMPLETE)

Valeur PEP_DPM_POWER_CONTROL_COMPLETE.

Données (PEP_DPM_POWER_CONTROL_COMPLETE)

Pointeur vers une structure PEP_POWER_CONTROL_COMPLETE .

Informe le pep qu’un pilote a effectué une demande de contrôle d’alimentation précédemment émise par le pep

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au pep lorsqu’un pilote termine une demande de contrôle d’alimentation émise précédemment par le pep.

! [REMARQUE] Le pep peut ignorer cette notification s’il n’émet aucune demande de contrôle d’alimentation.

Pour une notification PEP_DPM_POWER_CONTROL_COMPLETE, la routine AcceptDeviceNotification est appelée dans IRQL <= DISPATCH_LEVEL.

PEP_DPM_SYSTEM_LATENCY_UPDATE

Notification (PEP_DPM_SYSTEM_LATENCY_UPDATE)

Valeur PEP_DPM_SYSTEM_LATENCY_UPDATE.

Données (PEP_DPM_SYSTEM_LATENCY_UPDATE)

Pointeur vers une structure PEP_SYSTEM_LATENCY .

Informe le PEP que le système d’exploitation a mis à jour la tolérance de latence globale du système.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsque le système d’exploitation met à jour la tolérance de latence globale du système.

Dans les versions antérieures de PoFx, cette notification était utilisée par le PEP pour la sélection de l’état d’inactivité du processeur et de la plateforme. Avec les dernières interfaces PEP, le processus de sélection est entièrement géré par le système d’exploitation et, par conséquent, cette notification n’est plus utile. Il est inclus ici pour l’exhaustivité et le PEP doit l’ignorer.

Pour envoyer une notification PEP_DPM_SYSTEM_LATENCY_UPDATE, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Pour cette notification, la routine AcceptDeviceNotification est appelée dans IRQL <= DISPATCH_LEVEL.

PEP_DPM_DEVICE_STARTED

Notification (PEP_DPM_DEVICE_STARTED)

Valeur PEP_DPM_DEVICE_STARTED.

Données (PEP_DPM_DEVICE_STARTED)

Pointeur vers une structure PEP_DEVICE_STARTED .

Informe le PEP que l’appareil a démarré afin qu’il soit disponible pour recevoir des transactions de contrôle d’alimentation.

Les piles d’appareils s’inscrivent auprès du système d’exploitation pour la gestion de l’alimentation au runtime dans un processus en deux étapes. Le pilote appelle d’abord PoFxRegisterDevice pour fournir des informations sur le nombre de composants, leurs états inactifs et les attributs correspondants. En réponse à cet appel, le pep reçoit une notification PEP_DPM_REGISTER_DEVICE.

Une fois l’inscription réussie, le pilote a la possibilité d’initialiser ses composants (c’est-à-dire, définir les exigences de latence de mise à jour, mettre à jour la résidence inactive attendue, etc.). Une fois que le pilote a terminé les tâches d’initialisation, il avertit le gestionnaire d’alimentation en appelant PoFxStartDevicePowerManagement. En réponse, le PEP recevra une notification PEP_DPM_DEVICE_STARTED. À ce stade, l’appareil est considéré comme entièrement activé pour la gestion de l’alimentation du runtime.

Par conséquent, le pep ne peut pas émettre de demandes de contrôle d’alimentation au pilote, sauf s’il a d’abord reçu une notification PEP_DPM_DEVICE_STARTED ou une notification PEP_DPM_POWER_CONTROL_REQUEST.

Notes

Le pep peut ignorer cette notification s’il n’émet aucune demande de contrôle d’alimentation.

Pour une notification PEP_DPM_DEVICE_STARTED, la routine AcceptDeviceNotification est appelée dans IRQL <= DISPATCH_LEVEL.

PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE

Notification (PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE)

Valeur PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE.

Données (PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE)

Pointeur vers une structure PEP_NOTIFY_COMPONENT_IDLE_STATE .

Envoyé au pep lorsque le système d’exploitation émet une transition d’état inactif pour un composant donné.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsque le système d’exploitation émet une transition d’état inactif pour un composant donné.

Important

Le pep doit gérer cette notification.

Pour chaque transition d’état inactif, le pep est averti avant et après que le pilote soit averti. Le PEP fait la distinction entre les notifications préalables et postérieures en examinant le membre DriverNotified de la structure PEP_NOTIFY_COMPONENT_IDLE_STATE. Pour une notification postérieure, le membre DriverNotified aura la valeur TRUE.

Les pré-notifications sont généralement utilisées lors de la transition vers F0. Dans ce cas, le PEP peut avoir besoin de réactiver les ressources d’horloge ou d’alimentation afin que lorsque le pilote gère la notification F0, le matériel soit disponible. Par conséquent, les post-notifications sont généralement utilisées lors de la transition de F0 vers un état d’inactivité plus profond. Une fois qu’un pilote a géré la notification d’état d’inactivité, le PEP peut désactiver en toute sécurité les ressources d’horloge et d’alimentation.

La gestion d’une transition d’état inactif pour un composant donné peut nécessiter un traitement asynchrone si l’opération prend beaucoup de temps ou si l’IRQL est trop élevé pour effectuer la transition de manière synchrone. Par conséquent, le PEP peut effectuer cette notification de manière synchrone ou asynchrone en définissant le membre Terminé sur TRUE ou FALSE respectivement.

Si la notification doit être effectuée de manière asynchrone, le PEP avertit le système d’exploitation à l’achèvement en demandant un worker (voir RequestWorker) et en remplissant la structure d’informations de travail fournie dans la notification PEP_DPM_WORK résultante à l’aide d’un type de travail PepWorkCompleteIdleState.

Pour envoyer une notification PEP_DPM_NOTIFY_COMPONENT_IDLE_STATE, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Cette routine est appelée dans IRQL <= DISPATCH_LEVEL.

PEP_DPM_REGISTER_DEBUGGER

Notification (PEP_DPM_REGISTER_DEBUGGER)

Valeur PEP_DPM_REGISTER_DEBUGGER.

Données (PEP_DPM_REGISTER_DEBUGGER)

Pointeur vers une structure PEP_REGISTER_DEBUGGER .

Informe le PEP qu’un appareil inscrit peut être utilisé comme port de débogage.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification pour informer le PEP qu’un appareil inscrit peut être utilisé comme port de débogage.

Pour une notification PEP_DPM_REGISTER_DEBUGGER, la routine AcceptDeviceNotification est appelée dans IRQL <= DISPATCH_LEVEL.

PEP_DPM_LOW_POWER_EPOCH

Notification (PEP_DPM_LOW_POWER_EPOCH)

Valeur PEP_DPM_LOW_POWER_EPOCH.

Données (PEP_DPM_LOW_POWER_EPOCH)

Pointeur vers une structure PEP_LOW_POWER_EPOCH .

Cette notification est déconseillée.

PEP_DPM_REGISTER_CRASHDUMP_DEVICE

Notification (PEP_DPM_REGISTER_CRASHDUMP_DEVICE)

Valeur PEP_DPM_REGISTER_CRASHDUMP_DEVICE.

Données (PEP_DPM_REGISTER_CRASHDUMP_DEVICE)

Pointeur vers une structure PEP_REGISTER_CRASHDUMP_DEVICE .

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsqu’un appareil s’inscrit en tant que gestionnaire de crashdump.

La possibilité de générer un vidage de mémoire (crashdump) lorsque le système rencontre une erreur irrécupérable est inestimable pour déterminer la cause de l’incident. Windows, par défaut, génère un crashdump lorsque le système rencontre une vérification de bogue. Dans ce contexte, le système se trouve dans un environnement d’exploitation très contraint avec des interruptions désactivées et le système IRQL à HIGH_LEVEL.

Étant donné que les appareils impliqués dans l’écriture d’un crashdump sur le disque (par exemple, contrôleur de stockage, contrôleur PCI, etc.) peuvent être mis hors tension au moment de l’incident, le système d’exploitation doit appeler le PEP pour mettre l’appareil sous tension. Par conséquent, le système d’exploitation demande un rappel (PowerOnDumpDeviceCallback) à partir du PEP pour chaque appareil de la pile crashdump et appelle le rappel lors de la génération du fichier de vidage.

Compte tenu de l’environnement contraint au moment de l’incident, le rappel fourni par le PEP ne doit pas accéder au code paginé, bloquer les événements ou appeler un code susceptible d’en faire autant. En outre, le processus de mise sous tension des ressources requises ne peut pas s’appuyer sur des interruptions. Par conséquent, le PEP peut devoir revenir à l’interrogation s’il doit attendre que différentes ressources soient activées. Si le PEP ne peut pas mettre l’appareil sous tension en fonction de ces contraintes, il ne doit pas gérer la notification ou ne pas fournir de routine de rappel.

Pour envoyer une notification PEP_DPM_REGISTER_CRASHDUMP_DEVICE, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Pour cette notification, la routine AcceptDeviceNotification est appelée dans IRQL <= HIGH_LEVEL.

PEP_DPM_DEVICE_IDLE_CONSTRAINTS

Notification (PEP_DPM_DEVICE_IDLE_CONSTRAINTS)

Valeur PEP_DPM_DEVICE_IDLE_CONSTRAINTS.

Données (PEP_DPM_DEVICE_IDLE_CONSTRAINTS)

Pointeur vers une structure PEP_DEVICE_PLATFORM_CONSTRAINTS . Envoyé au PEP pour rechercher les dépendances entre les états D de l’appareil et les états inactifs de la plateforme.

Le framework de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP pour rechercher les dépendances entre les états D d’appareil et les états inactifs de la plateforme. Le PEP utilise cette notification pour renvoyer l’état D le plus léger dans lequel l’appareil peut encore se trouver et entrer chaque état d’inactivité de la plateforme. Le système d’exploitation garantit que l’appareil est dans l’état D minimal avant d’entrer un état d’inactivité de plateforme associé. Si un état inactif de la plateforme ne dépend pas de l’état D de cet appareil, le PEP doit spécifier un état D minimal de PowerDeviceD0. Si aucun état d’inactivité de la plateforme ne dépend que si cet appareil se trouve dans un état D particulier, cette notification peut être ignorée.

Cette notification est envoyée à chaque appareil une fois que le PEP a reçu la notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Pour envoyer une notification PEP_DPM_DEVICE_IDLE_CONSTRAINTS, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_DEVICE_IDLE_CONSTRAINTS et le paramètre Data pointe vers une structure PEP_DEVICE_PLATFORM_CONSTRAINTS.

Pour une notification PEP_DPM_DEVICE_IDLE_CONSTRAINTS, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = DISPATCH_LEVEL.

PEP_DPM_COMPONENT_IDLE_CONSTRAINTS

Notification (PEP_DPM_COMPONENT_IDLE_CONSTRAINTS)

Valeur PEP_DPM_COMPONENT_IDLE_CONSTRAINTS.

Données (PEP_DPM_COMPONENT_IDLE_CONSTRAINTS)

Pointeur vers une structure PEP_COMPONENT_PLATFORM_CONSTRAINTS .

Envoyé au PEP pour rechercher les dépendances entre les états F du composant et les états inactifs de la plateforme.

Le framework de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP pour rechercher les dépendances entre les états F du composant et les états inactifs de la plateforme. Le PEP utilise cette notification pour retourner l’état F le plus léger dans lequel le composant peut encore se trouver et entrer l’état d’inactivité de chaque plateforme. Le système d’exploitation garantit que le composant est dans l’état F minimal avant d’entrer un état d’inactivité de plateforme associé. Si un état inactif de la plateforme ne dépend pas du fait que ce composant se trouve dans un état F, le PEP doit spécifier un état F minimal de 0. Si aucun état d’inactivité de la plateforme ne dépend que si ce composant se trouve dans un état F particulier, cette notification peut être ignorée.

Les contraintes d’inactivité des appareils plus profondes que D0 sont plus contraignantes que les états d’inactivité des composants pour les composants sur l’appareil. Pour un index d’état d’inactivité de plateforme donné, si l’appareil a spécifié une contrainte d’inactivité de l’appareil, la contrainte d’inactivité de composant correspondante pour tous les composants associés à l’appareil est ignorée.

Cette notification est envoyée à chaque composant sur chaque appareil une fois que le PEP a reçu une notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Pour envoyer une notification PEP_DPM_COMPONENT_IDLE_CONSTRAINTS, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. La routine AcceptDeviceNotification est toujours appelée dans IRQL = DISPATCH_LEVEL.

PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES

Notification (PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES)

Valeur PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES.

Données (PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES)

Pointeur vers une structure PEP_QUERY_COMPONENT_PERF_CAPABILITIES .

Informe le PEP qu’il est interrogé sur le nombre de jeux d’état de performances (P) définis pour un composant.

Pour envoyer une notification PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES et le paramètre Data pointe vers une structure PEP_QUERY_COMPONENT_PERF_CAPABILITIES.

Pour une notification PEP_DPM_QUERY_COMPONENT_PERF_CAPABILITIES, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_COMPONENT_PERF_SET

Notification (PEP_DPM_QUERY_COMPONENT_PERF_SET)

Valeur PEP_DPM_QUERY_COMPONENT_PERF_SET.

Données (PEP_DPM_QUERY_COMPONENT_PERF_SET)

Pointeur vers une structure PEP_QUERY_COMPONENT_PERF_SET .

Informe le PEP qu’il est interrogé pour obtenir des informations sur un ensemble de valeurs d’état de performances (ensemble d’état P) pour un composant.

Pour envoyer une notification PEP_DPM_QUERY_COMPONENT_PERF_SET, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_QUERY_COMPONENT_PERF_SET et le paramètre Data pointe vers une structure PEP_QUERY_COMPONENT_PERF_SET.

Pour une notification PEP_DPM_QUERY_COMPONENT_PERF_SET, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME

Notification (OPEP_DPM_QUERY_COMPONENT_PERF_SET_NAME)

Valeur PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME.

Données (OPEP_DPM_QUERY_COMPONENT_PERF_SET_NAME)

Pointeur vers une structure PEP_QUERY_COMPONENT_PERF_SET_NAME .

Informe le PEP qu’il est interrogé pour obtenir des informations sur un ensemble de valeurs d’état de performances (ensemble d’état P) pour un composant.

Pour envoyer une notification PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME et le paramètre Data pointe vers une structure PEP_QUERY_COMPONENT_PERF_SET_NAME.

Pour une notification PEP_DPM_QUERY_COMPONENT_PERF_SET_NAME, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_COMPONENT_PERF_STATES

Notification (PEP_DPM_QUERY_COMPONENT_PERF_STATES)

Valeur PEP_DPM_QUERY_COMPONENT_PERF_STATES.

Données (PEP_DPM_QUERY_COMPONENT_PERF_STATES)

Pointeur vers une structure PEP_QUERY_COMPONENT_PERF_STATES .

Informe le pep qu’il est interrogé pour obtenir une liste de valeurs d’état de performance discret (état P) pour un jeu d’états P spécifié.

Pour envoyer une notification PEP_DPM_QUERY_COMPONENT_PERF_STATES, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_QUERY_COMPONENT_PERF_STATES et le paramètre Data pointe vers une structure PEP_QUERY_COMPONENT_PERF_STATES.

Pour une notification PEP_DPM_QUERY_COMPONENT_PERF_STATES, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_REGISTER_COMPONENT_PERF_STATES

Notification (PEP_DPM_REGISTER_COMPONENT_PERF_STATES)

Valeur PEP_DPM_REGISTER_COMPONENT_PERF_STATES.

Données (PEP_DPM_REGISTER_COMPONENT_PERF_STATES)

Pointeur vers une structure PEP_REGISTER_COMPONENT_PERF_STATES .

Informe le pep des états de performances (P-states) du composant spécifié.

Pour envoyer une notification PEP_DPM_REGISTER_COMPONENT_PERF_STATES, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_REGISTER_COMPONENT_PERF_STATES et le paramètre Data pointe vers une structure PEP_REGISTER_COMPONENT_PERF_STATES.

Pour une notification PEP_DPM_REGISTER_COMPONENT_PERF_STATES, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_REQUEST_COMPONENT_PERF_STATE

Notification (PEP_DPM_REQUEST_COMPONENT_PERF_STATE)

Valeur PEP_DPM_REQUEST_COMPONENT_PERF_STATE.

Données (PEP_DPM_REQUEST_COMPONENT_PERF_STATE)

Pointeur vers une structure PEP_REQUEST_COMPONENT_PERF_STATE.

Informe le pep qu’une ou plusieurs modifications de l’état des performances (P-state) sont demandées par l’infrastructure de gestion de l’alimentation Windows (PoFx).

Pour envoyer une notification PEP_DPM_REQUEST_COMPONENT_PERF_STATE, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_REQUEST_COMPONENT_PERF_STATE et le paramètre Data pointe vers une structure PEP_REQUEST_COMPONENT_PERF_STATE.

Pour une notification PEP_DPM_REQUEST_COMPONENT_PERF_STATE, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE

Notification (PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE)

Valeur PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE.

Données (PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE)

Pointeur vers une structure PEP_QUERY_CURRENT_COMPONENT_PERF_STATE.

Informe le pep qu’il est interrogé pour obtenir des informations sur l’état P actuel dans le jeu d’état P spécifié.

Pour envoyer une notification PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Dans cet appel, la valeur du paramètre Notification est PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE et le paramètre Data pointe vers une structure PEP_QUERY_CURRENT_COMPONENT_PERF_STATE.

Pour une notification PEP_DPM_QUERY_CURRENT_COMPONENT_PERF_STATE, la routine AcceptDeviceNotification est toujours appelée à l’adresse IRQL = PASSIVE_LEVEL.

PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS

Notification (PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS)

Valeur PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS.

Données (PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS)

Pointeur vers une structure PEP_DEBUGGER_TRANSITION_REQUIREMENTS .

Envoyé au peps pour interroger l’ensemble d’états coordonnés ou de plateforme qui nécessitent la mise hors tension du débogueur.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP pour rechercher l’ensemble d’états coordonnés ou de plateforme qui nécessitent la mise hors tension du débogueur. Si cette notification est acceptée, le système d’exploitation effectue toutes les transitions d’alimentation du débogueur pour le peps, et le pep peut ne pas utiliser TransitionCriticalResource pour gérer le débogueur.

Cette notification est envoyée à chaque appareil de débogueur après que le PEP a accepté une notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE ou PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.

Pour envoyer une notification PEP_DPM_QUERY_DEBUGGER_TRANSITION_REQUIREMENTS, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Pour cette notification, la routine AcceptDeviceNotification est toujours appelée dans IRQL = DISPATCH_LEVEL.

PEP_DPM_QUERY_SOC_SUBSYSTEM

Notification (PEP_DPM_QUERY_SOC_SUBSYSTEM)

Valeur PEP_DPM_QUERY_SOC_SUBSYSTEM.

Données (PEP_DPM_QUERY_SOC_SUBSYSTEM)

Pointeur vers une structure PEP_QUERY_SOC_SUBSYSTEM .

Envoyé au PEP pour collecter des informations de base sur un système particulier sur un sous-système de puce (SoC).

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP après l’initialisation des états d’inactivité de la plateforme afin de collecter des informations de base sur un sous-système soC particulier. Un PEP qui n’implémente pas la comptabilité du sous-système SoC, ou qui ne l’implémente pas pour l’état d’inactivité de la plateforme spécifié, retourne FALSE. Cela indique au système d’exploitation d’arrêter d’envoyer des notifications de diagnostic au PEP pour cet état d’inactivité de la plateforme.

Le Sous-système d’un système et le MetadataCount d’un sous-système peuvent changer avec les mises à jour PEP/BSP. SubsystemIndex peut changer chaque fois que le système d’exploitation démarre.

Important

Le pep ne peut pas ignorer cette notification. Le PEP reçoit cette notification, car il a répondu à la notification PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT pour ce PlatformIdleStateIndex avec un SubsystemCount différent de zéro.

Pour envoyer une notification PEP_DPM_QUERY_SOC_SUBSYSTEM, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP à l’DISPATCH_LEVEL IRQL < .

PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME

Notification (PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME)

Valeur PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME.

Données (PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME)

Pointeur vers une structure PEP_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME .

Envoyé au PEP lorsque le système d’exploitation souhaite collecter le décompte de temps pendant lequel un système particulier sur un sous-système de puce (SoC) a bloqué l’entrée dans un état d’inactivité de plateforme spécifique à l’insu du système d’exploitation.

En règle générale, le système d’exploitation appelle cette notification à la fin d’une session de secours connectée étendue où le système d’exploitation a tenté d’entrer dans l’état d’inactivité de la plateforme spécifiée. The PEP_QUERY_SOC_SUBSYSTEM_COUNT. La valeur SubsystemCount, renseignée précédemment par le pep lors de l’initialisation du sous-composant, spécifie le nombre de notifications PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME envoyées au PEP à la fois. Un PEP peut recevoir plusieurs notifications PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME pour un sous-système donné. Ces notifications peuvent ou non être entrelacées avec des notifications PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING.

Important

Le pep ne peut pas ignorer cette notification. Le PEP reçoit cette notification, car il a répondu à la notification PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT pour ce PlatformIdleStateIndex avec un SubsystemCount différent de zéro.

Pour envoyer une notification PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP à l’DISPATCH_LEVEL IRQL < .

PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT

Notification (PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT)

Valeur PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT.

Données (PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT)

Pointeur vers une structure PEP_QUERY_SOC_SUBSYSTEM_COUNT .

Envoyé au PEP après l’initialisation des états inactifs de la plateforme pour indiquer au système d’exploitation si le PEP prend en charge le système sur un sous-système de puce (SoC) en tenant compte d’un état d’inactivité de plateforme donné.

Il s’agit de la première notification de diagnostic du sous-système SoC envoyée au PEP. Un pep qui n’implémente pas la comptabilité du sous-système SoC, ou qui ne l’implémente pas pour l’état d’inactivité de la plateforme spécifié, retourne FALSE, auquel cas le système d’exploitation n’envoie plus de notifications de diagnostic du sous-système SoC pour cet état d’inactivité de la plateforme.

Notes

Le PEP peut ignorer cette notification s’il n’implémente pas les notifications de diagnostic SoC pour l’état d’inactivité de la plateforme spécifié.

Pour envoyer une notification PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP à l’DISPATCH_LEVEL IRQL < .

PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA

Notification (PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA)

Valeur PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA.

Données (PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA)

Pointeur vers une structure PEP_QUERY_SOC_SUBSYSTEM_METADATA.

Envoyé au peps pour collecter des métadonnées facultatives sur le sous-système dont l’heure de blocage vient d’être interrogée.

Cette notification est généralement envoyée au PEP immédiatement après une notification PEP_DPM_QUERY_SOC_SUBSYSTEM_BLOCKING_TIME. Une notification PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA collecte toutes les paires de métadonnées clé-valeur décrivant le sous-système.

Important

Le pep ne peut pas ignorer cette notification. Le PEP reçoit cette notification, car il a répondu à la notification PEP_DPM_QUERY_SOC_SUBSYSTEM_COUNT pour ce PlatformIdleStateIndex avec un SubsystemCount différent de zéro.

Pour envoyer une notification PEP_DPM_QUERY_SOC_SUBSYSTEM_METADATA, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP. Pour cette notification, la routine AcceptDeviceNotification est appelée au DISPATCH_LEVEL IRQL < .

PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING

Notification (PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING)

Valeur PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING.

Données (PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING)

Pointeur vers un pointeur A vers une structure PEP_RESET_SOC_SUBSYSTEM_ACCOUNTING . Structure.

Envoyé au peps pour effacer tous les délais de blocage du sous-système et la comptabilité des métadonnées, effectuer toute initialisation supplémentaire requise et redémarrer la comptabilité.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP à tout moment après l’initialisation de tous les sous-systèmes avec le système d’exploitation. En règle générale, cette notification est appelée lorsque le système d’exploitation commence une nouvelle période d’analyse sur ce qui maintient le système sur une puce (SoC) hors de l’état d’inactivité de la plateforme spécifié (ciblant drIPS lors de l’entrée en veille connectée). Le système d’exploitation envoie cette notification uniquement pour les états inactifs de la plateforme pour lesquels le PEP a initialisé un ou plusieurs sous-systèmes SoC.

Pour envoyer une notification PEP_DPM_RESET_SOC_SUBSYSTEM_ACCOUNTING, PoFx appelle la routine de rappel AcceptDeviceNotification du PEP à l’DISPATCH_LEVEL IRQL < .