Fungsi AuxKlibEnumerateSystemFirmwareTables (aux_klib.h)

Rutinitas AuxKlibEnumerateSystemFirmwareTables menghitung semua tabel firmware sistem dari jenis yang ditentukan.

Sintaks

NTSTATUS AuxKlibEnumerateSystemFirmwareTables(
  [in]            ULONG  FirmwareTableProviderSignature,
  [out, optional] PVOID  FirmwareTableBuffer,
  [in]            ULONG  BufferLength,
  [out, optional] PULONG ReturnLength
);

Parameter

[in] FirmwareTableProviderSignature

Pengidentifikasi penyedia tabel firmware tempat kueri akan diarahkan. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
'ACPI' Penyedia tabel firmware ACPI.
'FIRM' Penyedia tabel firmware mentah.
'RSMB' Penyedia tabel firmware SMBIOS mentah.

[out, optional] FirmwareTableBuffer

Penunjuk ke buffer yang dialokasikan penelepon tempat rutin menulis daftar tabel firmware. Jika parameter ini NULL, nilai yang ditulis ke *ReturnLength adalah ukuran buffer yang diperlukan. Untuk informasi selengkapnya tentang konten buffer ini, lihat bagian Keterangan.

[in] BufferLength

Ukuran, dalam byte, dari buffer yang diacu oleh FirmwareTableBuffer.

[out, optional] ReturnLength

Penunjuk ke lokasi tempat rutin menulis jumlah byte data yang ditulis ke buffer yang ditujukkan oleh FirmwareTableBuffer.

Mengembalikan nilai

AuxKlibEnumerateSystemFirmwareTables mengembalikan STATUS_SUCCESS jika panggilan berhasil. Nilai yang mungkin dikembalikan termasuk kode kesalahan berikut.

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Parameter yang tidak valid diberikan ke rutinitas.
STATUS_BUFFER_TOO_SMALL
Buffer yang dialokasikan pemanggil terlalu kecil, tetapi ukuran buffer yang diperlukan telah ditulis ke parameter output ReturnLength .

Keterangan

Jika panggilan berhasil, rutinitas ini menulis array dari satu atau beberapa pengidentifikasi tabel ke buffer yang diacu oleh parameter FirmwareTableBuffer . Setiap elemen array ini adalah nilai DWORD yang mengidentifikasi tabel firmware yang tersedia dari penyedia yang ditentukan oleh parameter FirmwareTableProviderSignature .

Penyedia tabel SMBIOS mentah ('RSMB') saat ini mengembalikan pengidentifikasi tabel tunggal, 0x00000000. Ini sesuai dengan tabel firmware SMBIOS mentah.

Penyedia tabel firmware mentah ('FIRM') mengambil daftar pengidentifikasi tabel DWORD. Setiap pengidentifikasi sesuai dengan awal rentang alamat fisik. Saat ini, penyedia ini mengembalikan dua pengidentifikasi, 0x000C0000 dan 0x000E0000. Pengidentifikasi ini mewakili memori fisik dari 0x000C0000 ke 0x000DFFFF dan dari 0x000E0000 hingga 0x000FFFFF.

Penyedia tabel ACPI ('ACPI') mengembalikan daftar pengidentifikasi tabel DWORD. Setiap pengidentifikasi yang dikembalikan sesuai dengan bidang Tanda Tangan dari struktur DESCRIPTION_HEADER untuk tabel ACPI yang saat ini berada di namespace ACPI sistem. Untuk informasi selengkapnya tentang struktur ini, lihat Konfigurasi Tingkat Lanjut dan Spesifikasi Antarmuka Daya di situs web Konfigurasi Tingkat Lanjut dan Power Interface .

Untuk ACPI, jika firmware sistem berisi beberapa tabel dengan nama yang sama, AuxKlibEnumerateSystemFirmwareTables menghitung semuanya. Namun, AuxKlibGetSystemFirmwareTable hanya mengambil tabel pertama dalam daftar yang memiliki nama ini.

AuxKlibEnumerateSystemFirmwareTables setara dengan fungsi Win32 EnumSystemFirmwareTables .

Driver harus memanggil AuxKlibInitialize sebelum memanggil AuxKlibEnumerateSystemFirmwareTable.

AuxKlibEnumerateSystemFirmwareTables ditentukan dalam file header Aux_klib.h yang disertakan dalam WDK untuk Windows 8 dan versi Windows yang lebih baru. Untuk menggunakan rutinitas ini, driver harus menautkan ke versi Aux_klib.lib yang disertakan dalam WDK untuk windows versi Windows 8 dan yang lebih baru. Implementasi AuxKlibEnumerateSystemFirmwareTables dalam versi WDK ini dapat digunakan dalam versi Windows yang dimulai dengan Windows Vista.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung dimulai dengan Windows Vista.
Target Platform Universal
Header aux_klib.h (termasuk Aux_klib.h)
Pustaka Aux_Klib.lib
IRQL PASSIVE_LEVEL

Lihat juga

AuxKlibGetSystemFirmwareTable

AuxKlibInitialize

EnumSystemFirmwareTables