PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE 结构 (pep_x.h)

PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE 结构包含设备命名空间中的 对象的枚举。

语法

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;

成员

DeviceHandle

一个 PEPHANDLE 值,该值标识设备对 ACPI 服务的注册。 平台扩展插件 (PEP) 提供此句柄以响应以前的 PEP_NOTIFY_ACPI_REGISTER_DEVICE 通知。

RequestFlags

一组输入标志。 当前没有为此成员定义标志,该成员始终设置为PEP_ACPI_EDN_FLAG_NONE (0x0) 。

Status

一个 NTSTATUS 值,该值指示所请求的设备命名空间枚举的状态。 如果 PEP 成功枚举设备命名空间中的对象,请将此成员设置为 STATUS_SUCCESS。 如果 ObjectBufferSize 成员中的输入值指示分配的缓冲区不够大,无法包含 Objects 数组,则设置为 STATUS_BUFFER_TOO_SMALL。

ObjectCount

Objects 数组中的元素数。

ObjectBufferSize

Windows 电源管理框架 (PoFx) 为结构后面的 Objects 数组元素分配的缓冲区的大小(以字节为单位)。 如果 ObjectBufferSize 的输入值不足以包含所有 Objects 数组元素,则 PEP 会用所需的大小覆盖输入值,并将 Status 成员设置为STATUS_BUFFER_TOO_SMALL。 有关更多信息,请参见备注

Objects[ANYSIZE_ARRAY]

PEP_ACPI_OBJECT_NAME_WITH_TYPE 结构数组 中的第一个元素,这些结构描述设备的 ACPI 命名空间中的对象。 如果此数组包含多个元素,则其他数组元素在 PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE 结构的末尾之后。

注解

此结构由 PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE 通知使用。 RequestFlagsObjectBufferSize 成员包含发送通知时由 PoFx 提供的输入值。 如果输入值小于所需的输出缓冲区大小,PEP 可能会用输出值覆盖 ObjectBufferSize 输入值。 StatusObjectCountObjects 成员包含 PEP 写入结构的输出值。

ObjectCount 是此设备下的 ACPI 命名空间中列出的对象数。 PEP 应验证 PoFx 为 Objects 数组分配的存储是否足够大,足以包含 ObjectCount 数组元素。 如果 ObjectCount > 1为 ,则其他 ObjectCount–1 数组元素在 PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE 结构的末尾之后。 包含 结构和附加数组元素所需的缓冲区大小计算如下:

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

如果 ObjectBufferSize 成员中指定的输入值小于所需大小,则 PEP 会用所需大小覆盖 ObjectBufferSize 输入值,并将 Status 成员设置为STATUS_BUFFER_TOO_SMALL。 作为响应,PoFx 将分配所需大小的缓冲区,并将第二个 PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE 通知发送到此设备的 PEP。

要求

要求
最低受支持的客户端 从 Windows 10 开始支持。
标头 pep_x.h (包括 Pep_x.h)

另请参阅