Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Chaque notification ACPI que la routine de rappel AcceptAcpiNotification de PEP reçoit est accompagnée d’un paramètre de notification qui indique le type de notification et d’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_ACPI_XXX qui indique le type de notification. Le paramètre De données pointe vers un type de structure PEP_ACPI_XXX associé à ce type de notification.
Les ID de notification ACPI suivants sont utilisés par la routine de rappel AcceptAcpiNotification.
| Identifiant de Notification | Valeur | Structure associée |
|---|---|---|
| PEP_NOTIFY_ACPI_PREPARE_DEVICE | 0x01 | PEP_ACPI_PREPARE_DEVICE |
| PEP_NOTIFY_ACPI_ABANDON_DEVICE | 0x02 | PEP_ACPI_ABANDON_DEVICE |
| ENREGISTREMENT_APPAREIL_PEP_NOTIFY_ACPI | 0x03 | PEP_ACPI_REGISTER_DEVICE |
| PEP_NOTIFY_ACPI_UNREGISTER_DEVICE | 0x04 | PEP_ACPI_UNREGISTER_DEVICE |
| PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE | 0x05 | PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE |
| PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION | 0x06 | PEP_ACPI_QUERY_OBJECT_INFORMATION |
| PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD | 0x07 | PEP_ACPI_EVALUATE_CONTROL_METHOD |
| PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES | 0x08 | PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES |
| PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES | 0x09 | PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES |
PEP_NOTIFY_ACPI_PREPARE_DEVICE
Notification : valeur PEP_NOTIFY_ACPI_PREPARE_DEVICE. Données : pointeur vers une structure PEP_ACPI_PREPARE_DEVICE qui identifie l’appareil par son nom.
Permet au PEP de choisir s’il faut fournir des services ACPI pour un appareil.
L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification lorsque le pilote ACPI Windows découvre un nouvel appareil dans l’espace de noms ACPI pendant l’énumération de l’appareil. Cette notification est envoyée aux PPE qui implémentent les routines de rappel AcceptAcpiNotification.
Pour envoyer une notification PEP_NOTIFY_ACPI_PREPARE_DEVICE, PoFx appelle la routine AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_ACPI_PREPARE_DEVICE, et le paramètre De données pointe vers une structure PEP_ACPI_PREPARE_DEVICE qui contient le nom de l’appareil. Si le PEP est prêt à fournir des services ACPI pour cet appareil, le PEP définit le membre DeviceAccepted de cette structure sur VRAI. Pour refuser de fournir de tels services, le PEP positionne ce membre sur FAUX.
Si le pep indique (en définissant DeviceAccepted = TRUE) qu’il est prêt à fournir des services ACPI pour l’appareil, PoFx répond en envoyant une notification PEP_NOTIFY_ACPI_REGISTER_DEVICE pour inscrire le PEP comme fournisseur unique de services ACPI pour l’appareil. PoFx s’attend à ce qu’un seul PEP prétende le rôle du fournisseur de services ACPI pour un appareil.
Comme meilleure pratique, n’effectuez aucune initialisation d’appareil en réponse à la notification de PEP_NOTIFY_ACPI_PREPARE_DEVICE. Au lieu de cela, reportez cette initialisation jusqu’à ce que la notification PEP_NOTIFY_ACPI_REGISTER_DEVICE de l’appareil soit reçue, soit qu’une méthode de contrôle ACPI (par exemple, _INI) soit appelée pour l’appareil.
Pour une notification PEP_NOTIFY_ACPI_PREPARE_DEVICE, la routine AcceptAcpiNotification est toujours appelée à IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_ABANDON_DEVICE
Notification : la valeur PEP_NOTIFY_ACPI_ABANDON_DEVICE.
Données : pointeur vers une structure PEP_ACPI_ABANDON_DEVICE qui identifie l’appareil abandonné.
Informe le PEP que l’appareil spécifié a été abandonné et ne nécessite plus de services ACPI de la part du PEP.
L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification pour informer le point de terminaison que l’appareil n’est plus utilisé par le système d’exploitation. Le PEP peut utiliser cette notification pour purger toute mémoire interne qu’il a allouée pour surveiller l’état de l’appareil.
Pour envoyer une notification de type PEP_NOTIFY_ACPI_ABANDON_DEVICE, PoFx utilise la routine de rappel AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_ACPI_ABANDON_DEVICE, et le paramètre De données pointe vers une structure PEP_ACPI_ABANDON_DEVICE.
PoFx envoie cette notification uniquement à un pep qui a choisi de fournir des services ACPI pour l’appareil dans une notification PEP_NOTIFY_ACPI_PREPARE_DEVICE précédente. Si le PEP s'est inscrit pour fournir ces services lors d'une notification PEP_NOTIFY_ACPI_REGISTER_DEVICE précédente, PoFx va envoyer une notification PEP_NOTIFY_ACPI_UNREGISTER_DEVICE pour le dispositif avant d'envoyer la notification PEP_NOTIFY_ACPI_ABANDON_DEVICE.
Pour une notification PEP_NOTIFY_ACPI_ABANDON_DEVICE, la routine AcceptAcpiNotification est toujours appelée à IRQL = PASSIVE_LEVEL.
ENREGISTREMENT_APPAREIL_PEP_NOTIFY_ACPI
Notification : valeur PEP_NOTIFY_ACPI_REGISTER_DEVICE.
Données : pointeur vers une structure PEP_ACPI_REGISTER_DEVICE qui identifie l’appareil. En réponse à cette notification, le PEP est censé créer une valeur PEPHANDLE valide pour identifier l’appareil et écrire cette valeur de handle dans la structure.
Enregistre le PEP en tant que seul fournisseur de services ACPI pour l'appareil spécifié.
L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification à un pep qui a indiqué , dans une notification PEP_NOTIFY_ACPI_PREPARE_DEVICE précédente, qu’il est prêt à fournir des services ACPI pour l’appareil spécifié.
Pour envoyer une notification PEP_NOTIFY_ACPI_REGISTER_DEVICE, PoFx appelle la routine AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_ACPI_REGISTER_DEVICE, et le paramètre De données pointe vers une structure PEP_ACPI_REGISTER_DEVICE qui identifie l’appareil pour lequel le PEP doit fournir des services ACPI.
Pour une notification de type PEP_NOTIFY_ACPI_REGISTER_DEVICE, la routine AcceptAcpiNotification est toujours appelée au niveau IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_UNREGISTER_DEVICE
Notification : valeur PEP_NOTIFY_ACPI_UNREGISTER_DEVICE.
Données : un pointeur vers une structure PEP_ACPI_UNREGISTER_DEVICE qui contient le PEPHANDLE pour le dispositif.
Retire l'enregistrement de l'appareil spécifié pour les services ACPI du PEP.
En réponse à cette notification, le PEP peut détruire le PEPHANDLE que le PEP a créé pour cet appareil lors d'une notification PEP_NOTIFY_ACPI_REGISTER_DEVICE précédente.
Pour envoyer une notification PEP_NOTIFY_ACPI_UNREGISTER_DEVICE, PoFx appelle la routine de rappel AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre notification est PEP_NOTIFY_ACPI_UNREGISTER_DEVICE, et le paramètre De données pointe vers une structure PEP_ACPI_UNREGISTER_DEVICE.
Pour une notification PEP_NOTIFY_ACPI_UNREGISTER_DEVICE, la routine AcceptAcpiNotification est toujours appelée au niveau IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE
Notification : valeur PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE.
Données : pointeur vers une structure PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE qui contient une énumération des objets dans l’espace de noms ACPI de l’appareil.
Interroge le pep pour obtenir la liste des objets ACPI (méthodes natives) pris en charge par le PEP sous l’appareil spécifié dans l’espace de noms ACPI.
Le pilote ACPI Windows utilise les objets énumérés par cette notification pour générer l’espace de noms pour l’appareil spécifié. Par la suite, lorsque vous vous référez à cet appareil, le pilote ACPI interrogera le PEP uniquement pour ces objets.
L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie la notification PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE peu après la découverte d’un appareil et les registres PEP pour fournir des services ACPI pour l’appareil. Pour plus d’informations sur cette inscription, consultez PEP_NOTIFY_ACPI_REGISTER_DEVICE.
Pour envoyer une notification PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE, PoFx appelle la routine de rappel AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE, et le paramètre Données pointe vers une structure PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE.
La routine AcceptAcpiNotification est censée gérer une notification PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE et retourner TRUE. L’échec de ce processus provoque une vérification des bogues.
Dans le cas d'une notification PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE, la routine AcceptAcpiNotification est toujours appelée à IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION
Notification : valeur PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION.
Données : pointeur vers une structure PEP_ACPI_QUERY_OBJECT_INFORMATION qui spécifie les attributs de l’objet ACPI.
Interroge le PEP pour obtenir des informations sur un objet ACPI précédemment énuméré.
L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification pour interroger le PEP sur les attributs d’un objet qui a été énuméré lors du traitement d’une notification précédente de PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE. Actuellement, les seuls objets énumérés sont des méthodes de contrôle.
Pour envoyer une notification PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION, PoFx appelle la routine de rappel AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION, et le paramètre De données pointe vers une structure PEP_ACPI_QUERY_OBJECT_INFORMATION.
Pour une notification de type PEP_NOTIFY_ACPI_QUERY_OBJECT_INFORMATION, la routine AcceptAcpiNotification est toujours appelée au niveau IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD
Notification : la valeur PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD.
Données : pointeur vers une structure PEP_ACPI_EVALUATE_CONTROL_METHOD qui spécifie une méthode de contrôle ACPI à évaluer, un argument d’entrée à fournir à cette méthode et une mémoire tampon de sortie pour le résultat.
Permet d’évaluer une méthode de contrôle ACPI pour laquelle le PEP est le gestionnaire inscrit.
Le framework de gestion de l’alimentation Windows (PoFx) envoie cette notification au pep lorsque le pilote ACPI Windows doit évaluer une méthode de contrôle ACPI implémentée par le pep.
Pour envoyer une notification PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD, PoFx appelle la routine de rappel AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD, et le paramètre De données pointe vers une structure PEP_ACPI_EVALUATE_CONTROL_METHOD.
Le concepteur de plateforme peut choisir si le pep ou le microprogramme ACPI gère une méthode de contrôle ACPI particulière. Si le PEP est le gestionnaire inscrit pour une méthode de contrôle de l'ACPI, PoFx répond à une demande du pilote ACPI de Windows pour évaluer cette méthode en envoyant une notification PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD au PEP.
Voici une liste d’exemples de méthodes de contrôle ACPI que le PEP peut gérer pour un appareil :
Identification et configuration des appareils : _HID, _CID, _UID, _ADR, _CLS, _SUB, _CRS, _PRS, et ainsi de suite. Gestion de l’alimentation des appareils et éveil : _PS0 à travers _PS3, _PR0 à travers _PR3, _DSW, et ainsi de suite. Méthodes spécifiques à l’appareil : _DSM et toutes les méthodes de contrôle spécifiques à l’appareil. Pour un appareil spécial, tel qu’un appareil ACPI Time and Alarm, cette notification est utilisée pour évaluer les méthodes de temps et d’alarme (_GCP, _GRT, _SRT, etc.).
Pour une notification PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD, la routine AcceptAcpiNotification est toujours appelée au niveau IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES
Notification : valeur « PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES ».
Données : pointeur vers une structure PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES qui contient la liste des ressources d’alimentation.
Interroge le PEP pour obtenir la liste des ressources brutes nécessaires pour contrôler l’alimentation de l’appareil.
En réponse à cette notification, le PEP fournit la liste des ressources brutes nécessaires pour contrôler l’alimentation de l’appareil. Le pilote ACPI de Windows requiert cette liste afin de pouvoir réserver les ressources d'alimentation nécessaires au dispositif, et fournir la liste correspondante des ressources traduites au PEP (en envoyant une notification PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES). Pour plus d’informations, consultez Ressources brutes et traduites.
Pour envoyer une notification PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES, l’infrastructure de gestion de l’alimentation Windows (PoFx) appelle la routine de rappel AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES, et le paramètre De données pointe vers une structure PEP_ACPI_QUERY_DEVICE_CONTROL_RESOURCES.
Pour une notification PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES, la routine AcceptAcpiNotification est toujours appelée à IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES
Notification : La valeur PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES.
Données : un pointeur vers une structure PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES qui contient la liste des ressources traduites.
Fournit au PEP une liste de ressources traduites pour toutes les ressources de contrôle d’alimentation nécessaires pour le dispositif.
L’infrastructure de gestion de l’alimentation Windows (PoFx) envoie cette notification si le PEP a répertorié des ressources brutes en réponse à la notification précédente de PEP_NOTIFY_ACPI_QUERY_DEVICE_CONTROL_RESOURCES. La notification PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES fournit au PEP la liste correspondante des ressources traduites. Pour plus d’informations, consultez Ressources brutes et traduites.
Pour envoyer une notification PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES, PoFx appelle la routine de rappel AcceptAcpiNotification du PEP. Dans cet appel, la valeur du paramètre de notification est PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES, et le paramètre Données pointe vers une structure PEP_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES.
Pour une notification PEP_NOTIFY_ACPI_TRANSLATED_DEVICE_CONTROL_RESOURCES, la routine AcceptAcpiNotification est toujours appelée au niveau IRQL = PASSIVE_LEVEL.
PEP_NOTIFY_ACPI_WORK
Notification : valeur PEP_NOTIFY_ACPI_WORK.
Données : pointeur vers une structure PEP_WORK.
Envoyé au PEP chaque fois que le PEP appelle la routine RequestWorker pour solliciter un élément de travail dans le cadre de l’infrastructure de gestion de l’alimentation Windows (PoFx). Cette notification est utilisée pour le travail ACPI uniquement.
Une fois que le PEP appelle la routine RequestWorker pour demander un élément de travail, PoFx répond en envoyant à PEP une notification PEP_NOTIFY_ACPI_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.
À l'entrée, le PEP doit supposer que la structure PEP_WORK n'est pas initialisée. Pour gérer cette notification, le PEP doit définir le membre WorkInformation pour qu'il pointe vers une structure PEP_WORK_INFORMATION allouée par le 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 traité la notification PEP_NOTIFY_ACPI_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 peut 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_NOTIFY_ACPI_WORK, la routine AcceptAcpiNotification est toujours appelée au niveau IRQL = PASSIVE_LEVEL.