Partager via


structure PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE (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 de 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 l’état 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éfini 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 objets.

ObjectBufferSize

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

Objects[ANYSIZE_ARRAY]

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 RequestFlags et ObjectBufferSize membres contiennent des valeurs d’entrée fournies par PoFx lorsque la notification est envoyée. Le pep peut remplacer la ObjectBufferSize valeur d’entrée avec une valeur de sortie si la valeur d’entrée est inférieure à la taille de mémoire tampon de sortie requise. L'd’état, ObjectCountet les membres Objects contiennent des valeurs de sortie que le PEP écrit dans la structure.

ObjectCount correspond au 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 pour le tableau Objets est suffisamment grand pour contenir ObjectCount éléments de tableau. Si 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 sont calculés 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 l'ObjectBufferSize membre est inférieure à la taille requise, le pep remplace la valeur d’entrée ObjectBufferSize avec 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.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge à partir de Windows 10.
d’en-tête pepfx.h (include Pep_x.h)

Voir aussi