estrutura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE (pepfx.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 | pepfx.h (inclua Pep_x.h) |