Partager via


PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE structure (pepfx.h)

La structure PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE contient une énumération des objets dans l’espace de noms de l’appareil.

Syntaxe

typedef struct _PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE {
  PEPHANDLE                      DeviceHandle;
  ULONG                          RequestFlags;
  NTSTATUS                       Status;
  ULONG                          ObjectCount;
  SIZE_T                         ObjectBufferSize;
  PEP_ACPI_OBJECT_NAME_WITH_TYPE Objects[ANYSIZE_ARRAY];
} PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE, *PPEP_ACPI_ENUMERATE_DEVICE_NAMESPACE;

Membres

DeviceHandle

Valeur PEPHANDLE qui identifie l’inscription de l’appareil pour les services ACPI. Le plug-in d’extension de plateforme (PEP) a fourni ce handle en réponse à une notification PEP_NOTIFY_ACPI_REGISTER_DEVICE précédente.

RequestFlags

Ensemble d’indicateurs d’entrée. Aucun indicateur n’est actuellement défini pour ce membre, qui est toujours défini sur PEP_ACPI_EDN_FLAG_NONE (0x0).

Status

Valeur NTSTATUS qui indique la status de l’énumération device-namespace demandée. Définissez ce membre sur STATUS_SUCCESS si le pep réussit à énumérer les objets dans l’espace de noms de l’appareil. Définissez sur STATUS_BUFFER_TOO_SMALL si la valeur d’entrée dans le membre ObjectBufferSize indique que la mémoire tampon allouée n’est pas suffisamment grande pour contenir le tableau Objects .

ObjectCount

Nombre d’éléments dans le tableau Objects .

ObjectBufferSize

Taille, en octets, de la mémoire tampon que l’infrastructure de gestion de l’alimentation Windows (PoFx) a allouée aux éléments du tableau Objects qui suivent la structure. Si la valeur d’entrée d’ObjectBufferSize n’est pas suffisamment grande pour contenir tous les éléments du tableau Objects , le pep remplace la valeur d’entrée par la taille requise et définit le membre Status sur STATUS_BUFFER_TOO_SMALL. Pour plus d’informations, consultez Remarques.

Objects[ANYSIZE_ARRAY]

Le premier élément d’un tableau de structures PEP_ACPI_OBJECT_NAME_WITH_TYPE qui décrivent les objets dans l’espace de noms ACPI de l’appareil. Si ce tableau contient plusieurs éléments, les éléments de tableau supplémentaires suivent la fin de la structure PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE .

Remarques

Cette structure est utilisée par la notification PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE . Les membres RequestFlags et ObjectBufferSize contiennent des valeurs d’entrée fournies par PoFx lors de l’envoi de la notification. Le PEP peut remplacer la valeur d’entrée ObjectBufferSize par une valeur de sortie si la valeur d’entrée est inférieure à la taille de mémoire tampon de sortie requise. Les membres Status, ObjectCount et Objects contiennent des valeurs de sortie que le PEP écrit dans la structure.

ObjectCount est le nombre d’objets répertoriés dans l’espace de noms ACPI sous cet appareil. Le pep doit vérifier que le stockage alloué par PoFx au tableau Objects est suffisamment grand pour contenir des éléments de tableau ObjectCount . Si la valeur est ObjectCount > 1, les éléments de tableau ObjectCount–1 supplémentaires suivent la fin de la structure PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE . La taille de la mémoire tampon requise pour contenir la structure et les éléments de tableau supplémentaires est calculée comme suit :

sizeof(PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE) + ((ObjectCount-1) * sizeof(PEP_ACPI_OBJECT_NAME_WITH_TYPE));

Si la valeur d’entrée spécifiée dans le membre ObjectBufferSize est inférieure à la taille requise, le pep remplace la valeur d’entrée ObjectBufferSize par la taille requise et définit le membre Status sur STATUS_BUFFER_TOO_SMALL. En réponse, PoFx alloue une mémoire tampon de la taille requise et envoie une deuxième notification PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE au PEP pour cet appareil.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge à partir de Windows 10.
En-tête pepfx.h (include Pep_x.h)

Voir aussi