estructura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE (pepfx.h)
La estructura PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE contiene una enumeración de los objetos del espacio de nombres del dispositivo.
Sintaxis
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;
Miembros
DeviceHandle
Valor PEPHANDLE que identifica el registro del dispositivo para los servicios ACPI. El complemento de extensión de plataforma (PEP) proporcionó este identificador como respuesta a una notificación de PEP_NOTIFY_ACPI_REGISTER_DEVICE anterior.
RequestFlags
Un conjunto de marcas de entrada. Actualmente no hay marcas definidas para este miembro, que siempre se establece en PEP_ACPI_EDN_FLAG_NONE (0x0).
Status
Valor NTSTATUS que indica el estado de la enumeración del espacio de nombres de dispositivo solicitado. Establezca este miembro en STATUS_SUCCESS si el PEP realiza correctamente la enumeración de los objetos en el espacio de nombres del dispositivo. Establézcalo en STATUS_BUFFER_TOO_SMALL si el valor de entrada del objectBufferSize miembro indica que el búfer asignado no es lo suficientemente grande como para contener la matriz Objetos.
ObjectCount
Número de elementos de la matriz de Objects.
ObjectBufferSize
Tamaño, en bytes, del búfer que el marco de administración de energía de Windows (PoFx) asignado para los objetos elementos de matriz que siguen la estructura. Si el valor de entrada de ObjectBufferSize no es lo suficientemente grande como para contener todos los elementos de matriz de Objects, el PEP sobrescribe el valor de entrada con el tamaño necesario y establece el miembro Status en STATUS_BUFFER_TOO_SMALL. Para obtener más información, vea Comentarios.
Objects[ANYSIZE_ARRAY]
Primer elemento de una matriz de PEP_ACPI_OBJECT_NAME_WITH_TYPE estructuras que describen los objetos del espacio de nombres ACPI del dispositivo. Si esta matriz contiene más de un elemento, los elementos de matriz adicionales siguen el final de la estructura de PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE.
Observaciones
La notificación de PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE usa esta estructura. Los miembros de RequestFlags y ObjectBufferSize contienen valores de entrada proporcionados por PoFx cuando se envía la notificación. El PEP puede sobrescribir el ObjectBufferSize valor de entrada con un valor de salida si el valor de entrada es menor que el tamaño de búfer de salida necesario. Los estado de, ObjectCounty objetos contienen valores de salida que el PEP escribe en la estructura.
ObjectCount es el número de objetos enumerados en el espacio de nombres ACPI en este dispositivo. El PEP debe comprobar que el almacenamiento asignado por PoFx para la matriz de Objects es lo suficientemente grande como para contener elementos de matriz objectCount. Si ObjectCount > 1
, los elementos adicionales de matriz ObjectCount–1 siguen el final de la estructura de PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE. El tamaño del búfer necesario para contener la estructura y los elementos de matriz adicionales se calcula de la siguiente manera:
sizeof(PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE) + ((ObjectCount-1) * sizeof(PEP_ACPI_OBJECT_NAME_WITH_TYPE));
Si el valor de entrada especificado en el miembro ObjectBufferSize es menor que el tamaño necesario, el PEP sobrescribe el ObjectBufferSize valor de entrada con el tamaño necesario y establece el miembro Status en STATUS_BUFFER_TOO_SMALL. En respuesta, PoFx asignará un búfer del tamaño necesario y enviará una segunda notificación PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE al PEP para este dispositivo.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite a partir de Windows 10. |
encabezado de | pepfx.h (include Pep_x.h) |