PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE 結構 (pepfx.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 開始支援。
標頭 pepfx.h (include Pep_x.h)

另請參閱