struktur PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE (pep_x.h)

Struktur PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE berisi enumerasi objek di namespace perangkat.

Sintaks

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;

Anggota

DeviceHandle

Nilai PEPHANDLE yang mengidentifikasi pendaftaran perangkat untuk layanan ACPI. Plug-in ekstensi platform (PEP) menyediakan handel ini sebagai respons terhadap pemberitahuan PEP_NOTIFY_ACPI_REGISTER_DEVICE sebelumnya.

RequestFlags

Sekumpulan bendera input. Tidak ada bendera yang saat ini ditentukan untuk anggota ini, yang selalu diatur ke PEP_ACPI_EDN_FLAG_NONE (0x0).

Status

Nilai NTSTATUS yang menunjukkan status enumerasi namespace layanan perangkat yang diminta. Atur anggota ini ke STATUS_SUCCESS jika PEP berhasil menghitung objek di namespace perangkat. Atur ke STATUS_BUFFER_TOO_SMALL jika nilai input di anggota ObjectBufferSize menunjukkan bahwa buffer yang dialokasikan tidak cukup besar untuk berisi array Objek .

ObjectCount

Jumlah elemen dalam array Objek .

ObjectBufferSize

Ukuran, dalam byte, dari buffer yang dialokasikan kerangka kerja manajemen daya Windows (PoFx) untuk elemen array Objek yang mengikuti struktur. Jika nilai input ObjectBufferSize tidak cukup besar untuk berisi semua elemen array Objek , PEP menimpa nilai input dengan ukuran yang diperlukan dan mengatur anggota Status ke STATUS_BUFFER_TOO_SMALL. Untuk informasi selengkapnya, lihat Keterangan.

Objects[ANYSIZE_ARRAY]

Elemen pertama dalam array struktur PEP_ACPI_OBJECT_NAME_WITH_TYPE yang menjelaskan objek di namespace ACPI perangkat. Jika array ini berisi lebih dari satu elemen, elemen array tambahan mengikuti akhir struktur PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE .

Keterangan

Struktur ini digunakan oleh pemberitahuan PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE . Anggota RequestFlags dan ObjectBufferSize berisi nilai input yang disediakan oleh PoFx saat pemberitahuan dikirim. PEP dapat menimpa nilai input ObjectBufferSize dengan nilai output jika nilai input kurang dari ukuran buffer output yang diperlukan. Anggota Status, ObjectCount, dan Objects berisi nilai output yang ditulis PEP ke struktur.

ObjectCount adalah jumlah objek yang tercantum dalam namespace ACPI di bawah perangkat ini. PEP harus memverifikasi bahwa penyimpanan yang dialokasikan oleh PoFx untuk array Objek cukup besar untuk berisi elemen array ObjectCount . Jika ObjectCount > 1, elemen array ObjectCount–1 tambahan mengikuti akhir struktur PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE . Ukuran buffer yang diperlukan untuk memuat struktur dan elemen array tambahan dihitung sebagai berikut:

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

Jika nilai input yang ditentukan dalam anggota ObjectBufferSize kurang dari ukuran yang diperlukan, PEP menimpa nilai input ObjectBufferSize dengan ukuran yang diperlukan, dan mengatur anggota Status ke STATUS_BUFFER_TOO_SMALL. Sebagai tanggapan, PoFx akan mengalokasikan buffer dengan ukuran yang diperlukan dan mengirim pemberitahuan PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE kedua ke PEP untuk perangkat ini.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung dimulai dengan Windows 10.
Header pep_x.h (termasuk Pep_x.h)

Lihat juga