Compartilhar via


estrutura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE (pep_x.h)

A estrutura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE contém uma enumeração dos objetos no namespace do dispositivo.

Sintaxe

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;

Membros

DeviceHandle

Um valor PEPHANDLE que identifica o registro do dispositivo para serviços ACPI. O PEP (plug-in de extensão de plataforma) forneceu esse identificador em resposta a uma notificação de PEP_NOTIFY_ACPI_REGISTER_DEVICE anterior.

RequestFlags

Um conjunto de sinalizadores de entrada. No momento, nenhum sinalizador é definido para esse membro, que é sempre definido como PEP_ACPI_EDN_FLAG_NONE (0x0).

Status

Um valor NTSTATUS que indica o status da enumeração de namespace do dispositivo solicitada. Defina esse membro como STATUS_SUCCESS se o PEP tiver êxito na enumeração dos objetos no namespace do dispositivo. Defina como STATUS_BUFFER_TOO_SMALL se o valor de entrada no membro ObjectBufferSize indicar que o buffer alocado não é grande o suficiente para conter a matriz objetos.

ObjectCount

O número de elementos na matriz objetos.

ObjectBufferSize

O tamanho, em bytes, do buffer que o Windows estrutura de gerenciamento de energia (PoFx) alocou para os objetos elementos de matriz que seguem a estrutura. Se o valor de entrada de ObjectBufferSize não for grande o suficiente para conter todos os objetos elementos de matriz, o PEP substituirá o valor de entrada com o tamanho necessário e definirá o membro status como STATUS_BUFFER_TOO_SMALL. Para obter mais informações, consulte Comentários.

Objects[ANYSIZE_ARRAY]

O primeiro elemento em uma matriz de estruturas PEP_ACPI_OBJECT_NAME_WITH_TYPE que descrevem os objetos no namespace ACPI do dispositivo. Se essa matriz contiver mais de um elemento, os elementos de matriz adicionais seguirão o final da estrutura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE.

Observações

Essa estrutura é usada pela notificação de PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE. Os membros RequestFlags e ObjectBufferSize contêm valores de entrada fornecidos pela PoFx quando a notificação é enviada. O PEP pode substituir o valor de entrada ObjectBufferSize com um valor de saída se o valor de entrada for menor que o tamanho do buffer de saída necessário. Os de Status, ObjectCounte Objects membros contêm valores de saída que o PEP grava na estrutura.

ObjectCount é o número de objetos listados no namespace ACPI neste dispositivo. O PEP deve verificar se o armazenamento alocado pela PoFx para a matriz objetos é grande o suficiente para conter elementos de matriz ObjectCount. Se ObjectCount > 1, os elementos de matriz ObjectCount–1 adicionais seguirão o final da estrutura de PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE. O tamanho do buffer necessário para conter a estrutura e elementos de matriz adicionais é calculado da seguinte maneira:

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

Se o valor de entrada especificado no membro ObjectBufferSize for menor que o tamanho necessário, o PEP substituirá o ObjectBufferSize valor de entrada com o tamanho necessário e definirá o membro Status como STATUS_BUFFER_TOO_SMALL. Em resposta, o PoFx alocará um buffer do tamanho necessário e enviará uma segunda notificação PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE ao PEP para este dispositivo.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte a partir do Windows 10.
cabeçalho pep_x.h (inclua Pep_x.h)

Consulte também