Partager via


Notifications de gestion de l’alimentation du processeur (PPM)

Chaque notification de gestion de l’alimentation du processeur (PPM) que la routine de rappel AcceptProcessorNotification de PEP reçoit est accompagnée d’un paramètre de notification qui indique le type de notification et un paramètre de données 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_NOTIFY_PPM_XXX qui indique le type de notification. Le paramètre De données pointe vers un type de structure PEP_PPM_XXX associé à ce type de notification.

Les ID de notification de gestion de l’alimentation du processeur (PPM) suivants sont utilisés par la routine de rappel AcceptProcessorNotification.

PEP_NOTIFY_PPM_QUERY_CAPABILITIES

Poignée

Structure PEPHANDLE contenant le handle de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_CAPABILITIES.

Données

Un pointeur vers une structure PEP_PPM_QUERY_CAPABILITIES.

Remarques

Informe le PEP qu’il est interrogé sur ses capacités de gestion de l’alimentation.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsque le pep est interrogé pour ses fonctionnalités de gestion de l’alimentation. Cela se produit au moment de l’initialisation du processeur et sera envoyé pour chaque processeur du système.

Les plateformes avec processeurs x86/AMD64 doivent utiliser des interfaces ACPI pour le contrôle des performances du processeur.

Pour envoyer une notification PEP_NOTIFY_PPM_QUERY_CAPABILITIES, PoFx appelle la routine de rappel AcceptProcessorNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_PPM_QUERY_CAPABILITIES, et le paramètre De données pointe vers une structure PEP_PPM_QUERY_CAPABILITIES.

Pour une notification PEP_NOTIFY_PPM_QUERY_CAPABILITIES, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES

Notification

Valeur PEP_NOTIFY_PPM_QUERY_IDLE_STATES.

Données

Pointeur vers une structure PEP_PPM_QUERY_IDLE_STATES.

Remarques

Informe le PEP sur les états inactifs.

Pour envoyer une notification PEP_NOTIFY_PPM_QUERY_IDLE_STATES, PoFx appelle la routine de rappel AcceptProcessorNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_PPM_QUERY_IDLE_STATES, et le paramètre De données pointe vers une structure PEP_PPM_QUERY_IDLE_STATES.

Pour une notification PEP_NOTIFY_PPM_QUERY_IDLE_STATES, la routine AcceptProcessorNotification est systématiquement appelée au niveau IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_SELECT

Notification

Valeur PEP_NOTIFY_PPM_IDLE_SELECT.

Données

Pointeur vers une structure PEP_PPM_IDLE_SELECT.

Remarques

Informe le PEP de l'état de sélection en veille.

Pour envoyer une notification PEP_NOTIFY_PPM_IDLE_SELECT, PoFx appelle la routine de rappel AcceptProcessorNotification du PEP. Dans cet appel, la valeur du paramètre notification est PEP_NOTIFY_PPM_IDLE_SELECT, et le paramètre De données pointe vers une structure PEP_PPM_IDLE_SELECT.

Pour une notification PEP_NOTIFY_PPM_IDLE_SELECT, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_CANCEL

Notification

La valeur « PEP_NOTIFY_PPM_IDLE_CANCEL ».

Données

Pointeur vers la structure PEP_PPM_IDLE_CANCEL.

Remarques

Informe le PEP d’une action d’annulation.

Pour envoyer une notification PEP_NOTIFY_PPM_IDLE_CANCEL, PoFx appelle la routine de rappel AcceptProcessorNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_PPM_IDLE_CANCEL, et le paramètre De données pointe vers une structure PEP_PPM_IDLE_CANCEL.

Pour une notification PEP_NOTIFY_PPM_IDLE_CANCEL, la routine AcceptProcessorNotification est toujours appelée au niveau IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_IDLE_EXECUTE

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_IDLE_EXECUTE.

Données

Pointeur vers une structure PEP_PPM_IDLE_EXECUTE ou PEP_PPM_IDLE_EXECUTE_V2.

Remarques

Envoyé au PEP pour effectuer la transition du processeur actuel vers l'état de veille spécifié.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au pep pour passer du processeur actuel à l’état d’inactivité spécifié.

Le pep peut préparer le matériel pour entrer dans l’état d’inactivité précédemment sélectionné, notamment notifier le système d’exploitation des ressources système principales qui peuvent être affectées par la transition de veille. Ensuite, il doit exécuter l’instruction d’arrêt pour passer du processeur à l’état inactif. Lors du retour de l’état inactif, le PEP doit annuler la configuration matérielle, et informer le système d’exploitation que certaines ressources essentielles du système peuvent s'être activées lors du réveil. Si le PEP n’est pas en mesure d’exécuter l’état d’inactivité du processeur (et de la plateforme), il doit retourner un état d’erreur.

Lorsque vous utilisez l’interface d’état inactif coordonné, le système d’exploitation utilise la structure PEP_PPM_IDLE_EXECUTE_V2 qui inclut les champs CoordinatedStateCount et CoordinatedState avec la liste des états inactifs coordonnés qui seront entrés par la transition inactive. Le champ PlatformState spécifie l’état d’inactivité coordonné de la plateforme le plus profond entré, le cas échéant.

Lorsque vous n’utilisez pas l’interface d’état inactif coordonné, le système d’exploitation utilise la structure PEP_PPM_IDLE_EXECUTE.

Pour une notification PEP_NOTIFY_PPM_IDLE_EXECUTE, la routine AcceptProcessorNotification est appelée avec des interruptions désactivées.

PEP_NOTIFY_PPM_IDLE_COMPLETE

Poignée

Structure PEPHANDLE contenant le descripteur d'appareil du PEP pour le processeur cible.

Notification

La valeur PEP_NOTIFY_PPM_IDLE_COMPLETE.

Données

Pointeur vers une structure PEP_PPM_IDLE_COMPLETE ou PEP_PPM_IDLE_COMPLETE_V2..

Remarques

Informe le PEP que le processeur actuel se réveille après une période d'inactivité terminée.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsque le processeur actuel se réveille à partir d’une transition inactive terminée. Si la plateforme procédait à une transition vers un état d'inactivité, le premier processeur à se réveiller indiquera l'état d'inactivité de la plateforme qui est en train d'être quitté. Selon le type de synchronisation utilisé dans la transition inactive de la plateforme, le premier processeur à sortir d’un état d’inactivité de la plateforme peut ne pas être le processeur entré dans l’état inactif de la plateforme.

Si le processeur exécutait un état d’inactivité profond, le pep ne doit pas attendre qu’il reçoive la notification complète pour restaurer le contexte principal ou avertir le système d’exploitation que les ressources principales ont été restaurées. Le système d’exploitation s’attend à ce que ces ressources aient été restaurées une fois la notification d’exécution terminée. Lorsque l’hyperviseur est activé, le pep reçoit uniquement cette notification lors de la sortie d’un état inactif de la plateforme et avec le champ ProcessorState défini sur PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Lorsque vous utilisez l’interface d’état inactif coordonné, le système d’exploitation utilise la structure PEP_PPM_IDLE_COMPLETE_V2 qui inclut les champs CoordinatedStateCount et CoordinatedState avec la liste des états inactifs coordonnés qui seront quittés par la transition inactive. Le champ PlatformState spécifie l’état d’inactivité coordonné de la plateforme le plus profond en cours de sortie, le cas échéant. Notez que l’ensemble d’états inactifs coordonnés quittés par ce processeur peut être différent de l’ensemble d’états inactifs coordonnés entrés par celui-ci, si la synchronisation libre est utilisée.

Lorsque vous n’utilisez pas l’interface d’état inactif coordonné, le système d’exploitation utilise la structure PEP_PPM_IDLE_COMPLETE.

Pour une notification PEP_NOTIFY_PPM_IDLE_COMPLETE, la routine AcceptProcessorNotification est appelée avec des interruptions désactivées et est toujours exécutée sur le processeur cible.

PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED

Poignée

Structure PEPHANDLE contenant le handle d’appareil du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED.

Données

Pointeur vers une structure PEP_PPM_IS_PROCESSOR_HALTED.

Remarques

Envoyé au pep pour déterminer si le processeur spécifié est actuellement arrêté dans son état d’inactivité sélectionné.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au pep pour déterminer si le processeur spécifié est actuellement arrêté dans son état d’inactivité sélectionné. Le système d’exploitation utilise cette notification pour vérifier si un processeur secondaire a entièrement terminé la transition vers l’inactivité lors de la coordination des états inactifs de la plateforme. Le PEP doit garantir que le processeur cible a atteint un état dans lequel la transition vers l'inactivité de la plateforme peut se produire en toute sécurité (par exemple, en vérifiant les registres matériels pour voir si le cœur est en état d'arrêt). Une fois que cette notification indique que le processeur est dans un état inactif, ce processeur ne doit pas se réveiller, sauf si le système d’exploitation le demande explicitement de le faire.

Le PEP peut recevoir cette notification à tout moment entre le IDLE_SELECT et les notifications IDLE_COMPLETE. Il est garanti de recevoir cette notification au plus une fois pendant une transition inactive.

Pour une notification PEP_NOTIFY_PPM_IS_PROCESSOR_HALTED, la routine AcceptProcessorNotification est appelée à n’importe quel niveau d’IRQL et avec des interruptions désactivées, et n’est jamais exécutée sur le processeur cible.

<= HAUT_NIVEAU

PEP_NOTIFY_PPM_INITIATE_WAKE

Poignée

Structure PEPHANDLE contenant la poignée de l'appareil PEP pour le processeur cible.

Notification

Valeur PEP_NOTIFY_PPM_INITIATE_WAKE.

Données

Pointeur vers une structure.

Remarques

Envoyé au PEP d’un processeur spécifié pour lancer son réveil à partir d’un état d’inactivité non-interruptible.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP d’un processeur spécifié pour déclencher sa sortie d’un état d’inactivité non interrompant. Le PEP doit renvoyer l’état d’éveil pour le processeur cible à l’aide de NeedInterruptForCompletion. Elle retourne VRAI si le processeur nécessite une interruption pour achever de sortir de l’état inactif. Dans ce cas, le PEP doit s’assurer que le processeur cible est interruptible lors du retour du traitement de cette notification. Si le processeur cible est déjà en cours d’exécution et/ou quitte l’état inactif (et est dans le processus de le faire) sans nécessiter d’interruption générée par un logiciel, NeedInterruptForCompletion doit avoir la valeur FALSE.

Notez que le pep ne recevra pas cette notification pour le même processeur simultanément.

Pour une notification PEP_NOTIFY_PPM_INITIATE_WAKE, la routine AcceptProcessorNotification est appelée à n'importe quel IRQL, les interruptions étant désactivées et n'est jamais exécutée sur le processeur cible.

<= HIGH_LEVEL

PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS.

Données

Pointeur vers une structure PEP_PPM_QUERY_FEEDBACK_COUNTERS.

Remarques

Informe le PEP que celui-ci fait l'objet d'une requête pour obtenir la liste des compteurs de commentaires qu'il prend en charge.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lors de l’initialisation du processeur pour interroger le PEP afin d'obtenir la liste des compteurs de rétroaction qu’il supporte.

Pour une notification PEP_NOTIFY_PPM_QUERY_FEEDBACK_COUNTERS, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_FEEDBACK_READ

Poignée

Structure PEPHANDLE contenant l'identifiant de l'appareil du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_FEEDBACK_READ.

Données

Pointeur vers une structure PEP_PPM_FEEDBACK_READ.

Remarques

Informe le PEP qu’il est interrogé pour obtenir la valeur actuelle d’un compteur de rétroaction.

L'infrastructure de gestion de l'alimentation Windows (PoFx) envoie cette notification lorsqu'elle souhaite interroger la valeur actuelle d'un compteur de retour d'information.

Cette notification peut être envoyée avec des interruptions désactivées. Si le champ Affinitized du compteur est défini, cette notification est exécutée sur le processeur cible. Sinon, cette notification peut être exécutée à partir de n’importe quel processeur.

Pour une notification PEP_NOTIFY_PPM_FEEDBACK_READ, la routine AcceptProcessorNotification peut être appelée à IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES

Poignée

Une structure PEPHANDLE contenant le descripteur d’appareil du PEP pour le processeur visé. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur de notification PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES.

Données

Un pointeur vers une structure de PEP_PPM_QUERY_PERF_CAPABILITIES.

Remarques

Informe le PEP qu’il est interrogé pour les plages de performances prises en charge par la plateforme.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lors de l’initialisation du processeur pour interroger les plages de performances prises en charge par la plateforme. Les champs DomainId et DomainMembers de la structure PEP_PPM_QUERY_PERF_CAPABILITIES sont utilisés pour exprimer les domaines d’état des performances à la plateforme. Chaque processeur est membre exactement d’un domaine d’état de performances. Le système d’exploitation garantit que tous les processeurs d’un domaine de performances changent les performances ensemble.

Dans le cas d'une notification PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_CONSTRAINTS

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible.

Notification

La valeur PEP_NOTIFY_PPM_PERF_CONSTRAINTS.

Données

Un pointeur vers une structure PEP_PPM_PERF_CONSTRAINTS.

Remarques

Informe le PEP qu’il fait l'objet d'une interrogation pour les contraintes opérationnelles actuelles du processeur.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsqu’elle souhaite inspecter les contraintes d’exploitation actuelles du processeur. Le PEP lance une demande pour que le système d’exploitation réévalue les contraintes de performance du processeur en effectuant un contrôle de puissance avec le code de contrôle GUID_PPM_PERF_CONSTRAINT_CHANGE. InBuffer et OutBuffer doivent avoir la valeur NULL.

Le PEP doit attendre de recevoir une notification de PEP_DPM_DEVICE_STARTED pour un processeur avant d’effectuer une transaction de contrôle d’alimentation pour le processeur.

Pour une notification PEP_NOTIFY_PPM_PERF_CONSTRAINTS, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PERF_SET

Cette notification informe le PEP que les performances d’exploitation actuelles du processeur doivent être modifiées.

Les paramètres suivants de AcceptProcessorNotification sont décrits.

Poignée

Une structure PEPHANDLE contenant la référence d'appareil du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_PERF_SET.

Données

Pointeur vers une structure PEP_PPM_PERF_SET .

Remarques

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsqu’elle souhaite modifier les performances d’exploitation actuelles du processeur. Cette notification peut être envoyée lors de l’exécution sur n’importe quel processeur.

Pour une notification PEP_NOTIFY_PPM_PERF_SET, la routine AcceptProcessorNotification est toujours appelée à IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PARK_SELECTION

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_PARK_SELECTION.

Données

Pointeur vers une structure PEP_PPM_PARK_SELECTION.

Remarques

Informe le PEP que le système d’exploitation souhaite qu’il sélectionne un ensemble de cœurs de processeur préféré à mettre en veille.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification pour indiquer au PEP de sélectionner un ensemble de cœurs préféré à mettre en veille prolongée.

Le PEP_NOTIFY_PPM_PARK_SELECTION a été surchargé pour effectuer deux fonctions :

Laissez le PEP sélectionner quels processeurs, à partir de l’ensemble de tous les processeurs du système, doivent être mis en veille, et lesquels doivent être réactivés. Laissez le PEP sélectionner les processeurs (parmi l'ensemble de tous les processeurs qui sont déparkés) qui doivent recevoir des interruptions et ceux qui ne doivent pas en recevoir. Windows ne fournit pas de moyen pour que le PEP distingue laquelle des deux actions le système d'exploitation est en train d'effectuer. Par conséquent, lorsque le PEP reçoit cette notification avec un ensemble d’entrées donné (nombre d'AdditionalUnparkedProcessors et PoPreference), il doit fournir une sortie cohérente (PepPreference), sauf si un événement externe provoque une modification de la préférence du PEP.

Pour une notification PEP_NOTIFY_PPM_PARK_SELECTION, la fonction AcceptProcessorNotification est toujours appelée au niveau IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_CST_STATES

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_CST_STATES.

Données

Un pointeur vers une structure PEP_PPM_CST_STATES.

Remarques

Envoyé au pep pour indiquer l’ensemble d’états C définis par ACPI pris en charge par le processeur.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP pour indiquer l’ensemble d’états C définis par ACPI pris en charge par le processeur. Cette notification sera envoyée une fois avant la première fois que le PEP reçoit PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2 notification pour un processeur, et à nouveau à tout moment où le processeur reçoit une notification (0x81) indiquant que l’objet _CST a changé.

Pour une notification PEP_NOTIFY_PPM_CST_STATES, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES.

Données

Un pointeur vers une structure PEP_PPM_QUERY_PLATFORM_STATES.

Remarques

Envoyé au moment de l’initialisation du processeur pour interroger le nombre d’états inactifs de la plateforme pris en charge par le PEP.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP lors de l’initialisation du processeur pour interroger le nombre d’états inactifs de la plateforme qu’il prend en charge. Cette notification est envoyée une fois au démarrage. Après avoir retourné un nombre non nul d’états de plateforme, le PEP peut ensuite commencer à sélectionner les états inactifs de la plateforme pendant les transitions inactives du processeur.

Pour une notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_LP_SETTINGS

Notification

Valeur de PEP_NOTIFY_PPM_QUERY_LP_SETTINGS.

Données

Un pointeur vers une structure PEP_PPM_QUERY_LP_SETTINGS.

Remarques

Pour envoyer une notification PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, PoFx appelle la routine de rappel AcceptProcessorNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, et le paramètre De données pointe vers une structure PEP_PPM_QUERY_LP_SETTINGS.

Pour une notification PEP_NOTIFY_PPM_QUERY_LP_SETTINGS, la routine AcceptProcessorNotification est toujours appelée avec un IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2.

Données

Pointeur vers une structure PEP_PPM_QUERY_IDLE_STATES_V2.

Remarques

Utilisé lors de l’initialisation du processeur pour interroger la liste des états inactifs pris en charge par le PEP.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au pep lors de l’initialisation du processeur pour interroger la liste des états inactifs qu’il prend en charge.

Le membre Count spécifie la taille du tableau d’état inactif. Le pilote de processeur interroge le nombre d’états inactifs avec PEP_NOTIFY_PPM_QUERY_CAPABILITIES avant d’envoyer cette notification.

Le pep remplit le tableau IdleStates avec des informations sur chaque état inactif qu’il prend en charge. Les états inactifs doivent être répertoriés dans l’ordre de diminution de la consommation d’énergie/augmentation du coût de transition. Le pep n’est pas nécessaire pour signaler la même liste d’états inactifs pour chaque processeur.

Pour une notification PEP_NOTIFY_PPM_QUERY_IDLE_STATES_V2, la routine AcceptProcessorNotification est toujours appelée au niveau IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Données

Pointeur vers une structure PEP_PPM_QUERY_PLATFORM_STATE.

Remarques

Envoyé au PEP pour interroger les propriétés d’un état inactif d’une unique plateforme.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lors de l’initialisation du processeur pour interroger les propriétés d’un état inactif de plateforme unique.

Le paramètre StateIndex de la structure PEP_PPM_QUERY_PLATFORM_STATE spécifie l’index de l’état inactif de la plateforme interrogé. Le pilote de processeur interroge le nombre d’états inactifs de plateforme pris en charge avec PEP_NOTIFY_PPM_QUERY_PLATFORM_STATES avant d’envoyer cette notification. Le pilote de processeur envoie ensuite une notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE pour chaque état inactif de la plateforme. Le pilote du processeur attendra d’envoyer cette notification jusqu’à ce que tous les processeurs se soient inscrits auprès du PEP.

Le PEP remplit la structure d'état avec des informations sur l'état inactif de la plateforme. Les états inactifs de la plateforme doivent être répertoriés dans l’ordre de diminution de la consommation d’énergie/augmentation du coût de transition.

Pour une notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_TEST_IDLE_STATE

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_TEST_IDLE_STATE.

Données

Pointeur vers une structure PEP_PPM_TEST_IDLE_STATE.

Remarques

Permet de tester si l’état d’inactivité du processeur et de la plateforme spécifiés peut être entré sur le processeur spécifié.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification pour tester si le processeur et l’état d’inactivité de la plateforme spécifiés peuvent être entrés sur le processeur spécifié. Si on peut entrer dans l'état inactif, le PEP remplit le code de veto PEP_IDLE_VETO_NONE et termine la transition vers l'état inactif. Si la transition inactive ne peut pas être effectuée pour une raison quelconque, le PEP remplit un code de veto non nul.

Les codes de veto importants de la plage 0x80000000 à 0xffffffff sont réservés à l’utilisation du système d’exploitation et peuvent ne pas être utilisés.

Lorsque cette notification est envoyée, le système d’exploitation a déjà validé que toutes les contraintes associées au processeur sélectionné ou à l’état d’inactivité de la plateforme ont été satisfaites, y compris les contraintes d’appareil et de processeur pour une transition inactive de la plateforme.

Cette notification sera envoyée avant que le système d’exploitation tente d’entrer un état d’inactivité du processeur ou de la plateforme, à l’exception de l’état inactif du processeur avec l’index 0, qui doit toujours être entré. La fin de cette notification avec PEP_IDLE_VETO_NONE ne garantit pas que le système d’exploitation entrera dans l’état d’inactivité indiqué. Cette notification est envoyée avec des interruptions désactivées. Cette notification est toujours exécutée sur le processeur cible.

Pour une notification PEP_NOTIFY_PPM_TEST_IDLE_STATE, la routine AcceptProcessorNotification est appelée avec des interruptions désactivées.

PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE.

Données

Pointeur vers une structure PEP_PPM_IDLE_EXECUTE ou PEP_PPM_IDLE_EXECUTE_V2.

Remarques

Envoyé au PEP pour préparer le système de passer à l'état inactif spécifié.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP pour préparer le système à passer à l’état d’inactivité spécifié. Une fois cette notification terminée, le système d’exploitation va passer le processeur en inactif en entrant l’état C associé. Si le PEP ne parvient pas à préparer le système pour entrer dans l’état d’inactivité du processeur (et de la plateforme), il doit renvoyer un état d’erreur.

Lorsque l’hyperviseur est activé, le pep reçoit uniquement cette notification lors de l’entrée à un état inactif de la plateforme et avec le champ ProcessorState défini sur PEP_PROCESSOR_IDLE_STATE_UNKNOWN.

Lorsque vous utilisez l’interface d’état inactif coordonné, le système d’exploitation utilise la structure PEP_PPM_IDLE_EXECUTE_V2 qui inclut les champs CoordinatedStateCount et CoordinatedState avec la liste des états inactifs coordonnés qui seront entrés par la transition inactive. Le champ PlatformState spécifie l'état d'inactivité coordonné de la plateforme le plus profond dans lequel on entre, le cas échéant.

Lorsque vous n’utilisez pas l’interface d’état inactif coordonné, le système d’exploitation utilise la structure PEP_PPM_IDLE_EXECUTE.

Pour une notification PEP_NOTIFY_PPM_IDLE_PRE_EXECUTE, la routine AcceptProcessorNotification est appelée avec des interruptions désactivées et est toujours exécutée sur le processeur cible.

PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE.

Données

Un pointeur vers une structure PEP_PPM_QUERY_PLATFORM_STATE.

Remarques

Informe le pep qu’un processeur a reçu Notify(0x81) pour mettre à jour les caractéristiques d’un état inactif de la plateforme.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsqu’un processeur a reçu Notify(0x81) pour mettre à jour les caractéristiques d’un état inactif de la plateforme. Cette notification est envoyée une fois pour chaque état inactif de la plateforme. Si le PEP n’accepte pas la notification (par exemple, retourne FALSE dans son rappel AcceptProcessorNotification), la définition antérieure de l’état inactif de la plateforme, de la dernière notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE ou PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE acceptée, est conservée.

Cette notification utilise la même mémoire tampon de données que la notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE.

Pour une notification PEP_NOTIFY_PPM_UPDATE_PLATFORM_STATE, la routine AcceptProcessorNotification est toujours appelée avec un IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES.

Données

Un pointeur vers une structure PEP_PPM_PLATFORM_STATE_RESIDENCIES.

Remarques

Informe le PEP qu'il doit capturer le temps cumulé réel passé dans chaque état d'inactivité de la plateforme depuis le démarrage.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au PEP pour capturer le temps cumulé réel passé dans chaque état inactif de la plateforme depuis le démarrage. Par conséquent, cette requête s’applique uniquement aux plateformes où le matériel sous-jacent peut décider de manière autonome d’entrer un état inactif de plateforme différent de celui demandé par le système d’exploitation. Les valeurs retournées sont utilisées à des fins de diagnostic et indiquent quand la perception du système d'exploitation de la durée de l'état d'inactivité de la plateforme diffère considérablement de ce que la plateforme a réellement atteint.

Count spécifie le nombre d’éléments dans le tableau États, où l’index d’élément correspond à l’index d’état inactif de la plateforme. Le PEP remplira chaque élément avec l'état de résidence effective et le nombre réel de transitions de l’état correspondant.

Notez que les valeurs accumulées capturées par cette requête doivent correspondre uniquement aux périodes où le pep (ou pilote de processeur) a effectivement exécuté une transition d’état inactif de plateforme. Cela garantit que la comparaison entre la résidence calculée du système d’exploitation et la résidence réelle est significative.

Pour une notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE_RESIDENCIES, la routine AcceptProcessorNotification peut être appelée à n’importe quel IRQL.

PEP_NOTIFY_PPM_QUERY_VETO_REASONS

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur numérique PEP_NOTIFY_PPM_QUERY_VETO_REASONS.

Données

Pointeur vers une structure PEP_PPM_QUERY_VETO_REASONS.

Remarques

Utilisé pour interroger le nombre de raisons de veto uniques utilisées par le PEP dans les rappels ProcessorIdleVeto et PlatformIdleVeto.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lors de l’initialisation du processeur pour interroger le nombre de raisons de veto uniques utilisées par le PEP dans les rappels ProcessorIdleVeto et PlatformIdleVeto. Cette notification est facultative et peut être ignorée par le PEP.

S’il est accepté, le PEP est autorisé à utiliser les raisons de veto comprises entre 1 et VetoReasonCount, inclusive, pour opposer un droit de veto à tout processeur, plateforme ou état inactif coordonné. Le PEP n’est pas autorisé à utiliser des raisons de veto supérieures à VetoReasonCount. Le système d'exploitation préalloue les structures de suivi de veto, et lorsqu'il est utilisé avec PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, garantit que toutes les opérations de rappel de veto pour les processeurs, les plateformes et les états coordonnés réussiront.

Si cette notification n’est pas acceptée par le PEP, le PEP peut utiliser les rappels ProcessorIdleVeto et PlatformIdleVeto avec toute raison de veto légale. Le système d’exploitation ne garantit pas que les rappels ne échouent pas en raison d’échecs d’allocation ou d’autres problèmes.

Pour une notification de type PEP_NOTIFY_PPM_QUERY_VETO_REASONS, la routine AcceptProcessorNotification est toujours appelée lorsque IRQL est à PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_VETO_REASON (Raison du véto)

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_QUERY_VETO_REASON.

Données

Un pointeur vers une structure PEP_PPM_QUERY_VETO_REASON.

Remarques

Envoyé au PEP pour demander des informations sur une raison de veto spécifique.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lors de l’initialisation du processeur pour rechercher des informations sur une raison de veto spécifique. Cette notification est envoyée deux fois pour chaque raison de veto, une fois avec une mémoire tampon NULLName pour récupérer la taille d’allocation nécessaire pour le nom, et une fois avec une mémoire tampon non NULLName pour remplir le contenu du nom. Le nom doit être une chaîne lisible par l’homme indiquant quelle condition représente cette raison de veto. Les outils de débogage tels que WPA et le débogueur du noyau afficheront le Nom lors du diagnostic de la raison pour laquelle un état inactif n’a pas été atteint.

Pour une notification PEP_NOTIFY_PPM_QUERY_VETO_REASON, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES.

Données

Valeur du pointeur NULL.

Remarques

Informe le PEP que le système d’exploitation est prêt à accepter des appels à ProcessorIdleVeto ou PlatformIdleVeto.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification après l’initialisation du processeur, mais avant la première entrée inactive pour indiquer que le système d’exploitation est prêt à accepter des appels à ProcessorIdleVeto ou PlatformIdleVeto. Le PEP peut énumérer les vetos au démarrage dans le contexte de cette notification, et le système d’exploitation garantit qu’ils prendront effet avant la première tentative de sélection d’un processeur, d’une plateforme ou d’un état inactif coordonné. Cette notification n’a aucun paramètre de données associé.

Pour une notification PEP_NOTIFY_PPM_ENUMERATE_BOOT_VETOES, la routine AcceptProcessorNotification est toujours appelée lorsque l'IRQL est égal à PASSIVE_LEVEL.

PEP_NOTIFY_PPM_PARK_MASK

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_PARK_MASK.

Données

Pointeur vers une structure PEP_PPM_PARK_MASK.

Remarques

Informe le PEP du masque de stationnement principal actuel.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au moment de l’exécution pour informer le PEP du masque de stationnement principal actuel.

Pour une notification PEP_NOTIFY_PPM_PARK_MASK, la routine AcceptProcessorNotification est appelée à IRQL = DISPATCH_LEVEL et peut être envoyée lors de l’exécution sur n’importe quel processeur.

PEP_NOTIFY_PPM_PARK_SELECTION_V2

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_PARK_SELECTION_V2.

Données

Pointeur vers une structure PEP_PPM_PARK_SELECTION_V2.

Remarques

Informe le PEP que le système d’exploitation aimerait qu’il sélectionne un ensemble préféré de cœurs pour stationner ou diriger les interruptions à partir de. Si cette notification n’est pas acceptée, le système d’exploitation revient à envoyer la notification PEP_NOTIFY_PPM_PARK_SELECTION.

Lors de l’exécution de son algorithme de vérification des performances, le système d’exploitation peut envoyer la notification PEP_NOTIFY_PPM_PARK_SELECTION_V2 plusieurs fois : zéro ou plusieurs fois pour chaque classe d’efficacité principale au sein de chaque domaine de parc, et zéro ou plusieurs fois pour la direction d’interruption. Afin d'aider le PEP à fournir une réponse cohérente au système d'exploitation pour une vérification des performances, le système d'exploitation fournit l'horodatage basé sur l'interruption de l'évaluation de la vérification des performances qui a déclenché la notification. Toutes les notifications de sélection de parc résultant d’une évaluation de vérification des performances auront le même horodatage. Notez que les champs restants (Count, AdditionalUnparkedProcessors, EvaluationType et Processors) peuvent varier pour les notifications envoyées pendant la même évaluation de vérification des performances, le PEP ne peut pas supposer qu’ils resteront les mêmes.

Pour une notification PEP_NOTIFY_PPM_PARK_SELECTION, la fonction AcceptProcessorNotification est toujours appelée au niveau IRQL = DISPATCH_LEVEL.

PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE.

Données

Un pointeur vers une structure PEP_PPM_PERF_CHECK_COMPLETE.

Remarques

Informe le PEP que l’évaluation périodique de la vérification des performances s’est terminée.

Le cadre de gestion de l’alimentation Windows (PoFx) envoie cette notification au moment de l'exécution pour informer le PEP que l'évaluation périodique des vérifications est terminée.

Pour une notification PEP_NOTIFY_PPM_PERF_CHECK_COMPLETE, la routine AcceptProcessorNotification est appelée à IRQL = DISPATCH_LEVEL et peut être envoyée lors de l’exécution sur n’importe quel processeur.

PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY.

Données

Pointeur vers une structure PEP_PPM_QUERY_COORDINATED_DEPENDENCY.

Remarques

Envoyé au PEP pour interroger les dépendances de chaque état de veille coordonné.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lors de l’initialisation du processeur pour interroger le PEP sur les dépendances de chaque état inactif coordonné. Le système d’exploitation alloue des éléments MaximumDependencySize pour le tableau Dépendances. Le PEP doit renseigner le nombre d’éléments du tableau qui ont été utilisés dans DependencySizeUsed.

Si la dépendance exprimée se trouve sur un processeur, pep remplit le champ TargetProcessor avec le POHANDLE du processeur cible. Le champ ExpectedState fait ensuite référence à l’index d’un état inactif du processeur sur le processeur cible.

Si la dépendance exprimée se trouve sur d’autres états inactifs coordonnés, pep remplit null pour targetProcessor. Le champ ExpectedState fait ensuite référence à l’index d’un état inactif coordonné.

Chaque dépendance répertorie un menu d’options que le système d’exploitation est autorisé à utiliser pour satisfaire la dépendance. En cas d’inactivité, le système d’exploitation tente de satisfaire la dépendance en vérifiant les conditions de chacun, de l’index le plus élevé à l’index le plus bas. Si les conditions d’une dépendance sont remplies, le système d’exploitation considère la dépendance remplie. Si aucune des conditions ne peut être remplie, la dépendance n’est pas remplie et l’état inactif coordonné peut ne pas être entré.

Pour une notification PEP_NOTIFY_PPM_QUERY_COORDINATED_DEPENDENCY, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME.

Données

Pointeur vers une structure PEP_PPM_QUERY_STATE_NAME.

Remarques

Envoyé au PEP pour rechercher des informations sur un état coordonné ou inactif spécifique de la plateforme.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lors de l’initialisation du processeur pour interroger le pep pour obtenir des informations sur un état d’inactivité coordonné ou de plateforme spécifique. Cette notification est envoyée deux fois pour chaque état, une fois avec une mémoire tampon de nom NULL pour récupérer la taille d’allocation nécessaire pour le nom, et une fois avec une mémoire tampon nom non NULL pour renseigner le contenu du nom. Le nom doit être une chaîne lisible par l’homme indiquant le nom de l’état inactif coordonné. Les états inactifs coordonnés doivent avoir des noms uniques, sauf sur les systèmes à plusieurs clusters, où les noms d’états équivalents sur différents clusters peuvent être identiques. Les outils de débogage tels que WPA et le débogueur du noyau afficheront Nom dans les diagnostics qui font référence à cet état d'inactivité coordonné et plateforme.

Pour une notification PEP_NOTIFY_PPM_QUERY_COORDINATED_STATE_NAME, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES.

Données

Un pointeur vers une structure de type PEP_PPM_QUERY_COORDINATED_STATES.

Remarques

Utilisé lors de l’initialisation du processeur pour rechercher les propriétés de tous les états inactifs coordonnés.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification au pep lors de l’initialisation du processeur pour rechercher les propriétés de tous les états inactifs coordonnés. Cette notification est envoyée juste avant que le PEP n’ait envoyé la notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. Si elle est acceptée, le PEP utilise l'interface d'état inactif coordonnée et ne reçoit aucune notification de type PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE. S'il n'est pas accepté, le PEP utilise l'interface d'état inactif de la plateforme et le système d'exploitation reviendra à utiliser la notification PEP_NOTIFY_PPM_QUERY_PLATFORM_STATE pour interroger les états d'inactivité coordonnés.

Le système d'exploitation attendra d'envoyer cette notification jusqu'à ce que tous les processeurs se seront inscrits auprès du PEP.

Le PEP remplit la structure d'état avec des informations sur les états inactifs coordonnés.

L’ordre des états inactifs coordonnés doit respecter les règles suivantes :

Deux états coordonnés qui représentent différents états d’alimentation pour la même unité fonctionnelle doivent être répertoriés dans l’ordre allant de la plus légère (la plupart de la consommation d’énergie/coût de transition minimum) à la plus profonde (consommation d’énergie minimale/coût de transition le plus élevé). Les états inactifs coordonnés peuvent uniquement dépendre d’autres états inactifs coordonnés avec un index inférieur. Il n’existe pas d’ordre obligatoire entre deux états inactifs coordonnés disjoints (autrement dit, deux états inactifs coordonnés qui dépendent des ensembles disjoints de processeurs).

Pour une notification PEP_NOTIFY_PPM_QUERY_COORDINATED_STATES, la routine AcceptProcessorNotification est toujours exécutée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME.

Données

Un pointeur vers une structure PEP_PPM_QUERY_STATE_NAME.

Remarques

Envoyé au pep pour rechercher des informations sur un état d’inactivité spécifique du processeur.

L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lors de l’initialisation du processeur pour interroger le pep pour obtenir des informations sur un état d’inactivité spécifique du processeur. Cette notification est envoyée deux fois pour chaque état, une fois avec une mémoire tampon de nom NULL pour récupérer la taille d’allocation nécessaire pour le nom, et une fois avec une mémoire tampon nom non NULL pour renseigner le contenu du nom. Le nom doit être une chaîne lisible par l’homme indiquant le nom de l’état inactif coordonné. Les états inactifs coordonnés doivent avoir des noms uniques, sauf sur les systèmes à plusieurs clusters, où les noms d’états équivalents sur différents clusters peuvent être identiques. Les outils de débogage tels que WPA et le débogueur du noyau affichent le Nom dans les diagnostics qui font référence à cet état d’inactivité coordonné/de la plateforme.

Pour une notification PEP_NOTIFY_PPM_QUERY_PROCESSOR_STATE_NAME, la routine AcceptProcessorNotification est toujours appelée à IRQL = PASSIVE_LEVEL.

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE.

Données

Un pointeur vers une structure PEP_PPM_ENTER_SYSTEM_STATE.

Remarques

PEP_NOTIFY_PPM_ENTER_SYSTEM_STATE est une notification facultative qui informe le PEP que le système est sur le point d’entrer un état de mise sous tension du système. Cette notification est envoyée simultanément à tous les processeurs une fois que le système a terminé la transition du processeur vers l’état d’alimentation du système.

Cette notification est envoyée à DISPATCH_LEVEL, avec tous les processeurs à la distribution. Cette notification est toujours exécutée sur le processeur cible.

Note : Le PEP ne doit pas mettre en file d’attente de travail à partir de cette notification. Les processeurs ne traiteront pas les éléments de travail, les DPCs, etc. une fois cette notification envoyée.

DISPATCH_LEVEL

PEP_NOTIFY_PPM_PERF_SET_STATE

Les paramètres suivants de AcceptProcessorNotification sont décrits.

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_PERF_SET_STATE.

Données

Pointeur vers une structure PEP_PPM_PERF_SET_STATE .

Remarques

Utilisé au moment de l’exécution pour définir l’état actuel des performances d’exploitation du processeur. Si le pep dispose d’un matériel autonome capable d'améliorer ou de réduire les performances sans demande de jeu de performances, il doit limiter les demandes du matériel autonome en fonction de l’état minimal de performance et/ou de l’état maximal de performance, et cibler l'état de performance souhaité. Sinon, il devrait fonctionner exactement au niveau de performance souhaité.

Cette notification est envoyée à DISPATCH_LEVEL. Si les états de performances dirigés du planificateur sont en cours d’utilisation, le PEP doit respecter les restrictions de la section 3.3.6 lors du traitement de cette notification. Il peut être envoyé lors de l’exécution sur n’importe quel processeur.

PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_DISCRETE_PERF_STATES.

Données

Pointeur vers une structure PEP_PPM_QUERY_DISCRETE_PERF_STATES. Utilisé lors de l’initialisation du processeur pour rechercher la liste des états de performances discrets pris en charge par le PEP, si la notification PEP_NOTIFY_PPM_QUERY_CAPABILITIES indique la prise en charge des états de performances discrets.

La liste d’états des performances doit être ordonnée de la plus rapide à la plus lente, avec chaque mappage d’état des performances à une valeur de performance distincte. La liste d’état des performances doit également inclure une entrée qui correspond à chaque valeur de performance répertoriée dans la notification PEP_NOTIFY_PPM_QUERY_PERF_CAPABILITIES. Cette notification est envoyée à PASSIVE_LEVEL. Il peut être envoyé lors de l’exécution sur n’importe quel processeur.

PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

Valeur PEP_NOTIFY_PPM_QUERY_DOMAIN_INFO.

Données

Pointeur vers une structure PEP_PPM_QUERY_DOMAIN_INFO.

Remarques

Notification facultative qui interroge des informations sur un domaine de performances. Cette notification est envoyée à PASSIVE_LEVEL. Il peut être envoyé lors de l’exécution sur n’importe quel processeur.

PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE

Poignée

Structure PEPHANDLE contenant le descripteur de périphérique du PEP pour le processeur cible. Si la notification ne cible pas de processeur spécifique, cette valeur est NULL.

Notification

La valeur PEP_NOTIFY_PPM_RESUME_FROM_SYSTEM_STATE.

Données

Pointeur vers une structure PEP_PPM_RESUME_FROM_SYSTEM_STATE.

Remarques

Une notification facultative qui informe le PEP que le système vient de reprendre après un état de veille du système. Cette notification est envoyée simultanément à tous les processeurs juste avant que les processeurs ne soient libérés pour reprendre le travail de niveau passif. Cette notification est envoyée à DISPATCH_LEVEL, avec tous les processeurs à la distribution. Cette notification est toujours exécutée sur le processeur cible.