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 en 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 se realiza correctamente en la enumeración de los objetos del espacio de nombres del dispositivo. Se establece en STATUS_BUFFER_TOO_SMALL si el valor de entrada del miembro ObjectBufferSize indica que el búfer asignado no es lo suficientemente grande como para contener la matriz Objects .

ObjectCount

Número de elementos de la matriz Objects .

ObjectBufferSize

Tamaño, en bytes, del búfer que el marco de administración de energía de Windows (PoFx) asignó para los elementos de la matriz Objects que siguen la estructura. Si el valor de entrada de ObjectBufferSize no es lo suficientemente grande como para contener todos los elementos de la matriz 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 estructuras PEP_ACPI_OBJECT_NAME_WITH_TYPE 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 .

Comentarios

La notificación de PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE usa esta estructura. Los miembros RequestFlags y ObjectBufferSize contienen valores de entrada proporcionados por PoFx cuando se envía la notificación. El PEP puede sobrescribir el valor de entrada ObjectBufferSize con un valor de salida si el valor de entrada es menor que el tamaño de búfer de salida necesario. Los miembros Status, ObjectCount y Objects 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 Objects es lo suficientemente grande como para contener elementos de matriz ObjectCount . Si ObjectCount > 1es , los elementos adicionales de la 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 valor de entrada ObjectBufferSize 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 Value
Cliente mínimo compatible Se admite a partir de Windows 10.
Encabezado pepfx.h (include Pep_x.h)

Consulte también