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 {
  [in]  PEPHANDLE                      DeviceHandle;
  [in]  ULONG                          RequestFlags;
  [out] NTSTATUS                       Status;
  [out] 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

[in] 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.

[in] RequestFlags

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

[out] 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 TotalBufferSize menunjukkan bahwa buffer yang dialokasikan tidak cukup besar untuk berisi struktur PEP_ACPI_ENUMERATE_DEVICE_NAMESPACE dan array Objek .

[out] ObjectCount

Jumlah elemen dalam array Objek .

ObjectBufferSize

[out] Objects

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 TotalBufferSize berisi nilai input yang disediakan oleh PoFx saat pemberitahuan dikirim. PEP dapat menimpa nilai input TotalBufferSize 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.

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

sizeofPEP_ACPI_ENUMERATE_DEVICE_NAMESPACEsizeofPEP_ACPI_OBJECT_NAME_WITH_TYPE Jika nilai input yang ditentukan dalam anggota TotalBufferSize kurang dari ukuran yang diperlukan, PEP menimpa nilai input TotalBufferSize 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

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

Lihat juga

PEP_ACPI_OBJECT_NAME_WITH_TYPE

PEP_NOTIFY_ACPI_ENUMERATE_DEVICE_NAMESPACE

PEP_NOTIFY_ACPI_REGISTER_DEVICE