Fungsi AuxKlibGetSystemFirmwareTable (aux_klib.h)
Rutinitas AuxKlibGetSystemFirmwareTable mengambil tabel firmware yang ditentukan dari penyedia tabel firmware.
Sintaks
NTSTATUS AuxKlibGetSystemFirmwareTable(
[in] ULONG FirmwareTableProviderSignature,
[in] ULONG FirmwareTableID,
[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. |
[in] FirmwareTableID
Pengidentifikasi tabel firmware. Karakter dalam pengidentifikasi berada dalam urutan little-endian.
Misalnya, FACP adalah nama tabel yang disediakan oleh ACPI. Tabel FACP diidentifikasi dengan nilai 4 byte 'PCAF' (0x50434146) di bidang Tanda Tangan struktur DESCRIPTION_HEADER di awal tabel. Contoh kode berikut menunjukkan cara menentukan FACP dalam panggilan AuxKlibGetSystemFirmwareTable :
status = AuxKlibGetSystemFirmwareTable('ACPI', 'PCAF', pBuffer, BUFSIZE, &dataSize);
Dalam contoh ini, pBuffer
menunjuk ke buffer yang dialokasikan pemanggil, BUFSIZE
adalah ukuran dalam byte buffer ini, dan dataSize
merupakan variabel di mana rutin menulis jumlah byte yang ditulis ke buffer. Untuk informasi selengkapnya tentang struktur DESCRIPTION_HEADER , lihat Konfigurasi Tingkat Lanjut dan Spesifikasi Antarmuka Daya di situs web Konfigurasi Tingkat Lanjut dan Antarmuka Daya .
[out, optional] FirmwareTableBuffer
Penunjuk ke buffer yang dialokasikan pemanggil yang menerima 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
AuxKlibGetSystemFirmwareTable mengembalikan STATUS_SUCCESS jika panggilan berhasil. Nilai yang mungkin dikembalikan termasuk kode kesalahan berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Parameter yang tidak valid diberikan ke rutinitas. |
|
Buffer yang dialokasikan pemanggil terlalu kecil, tetapi ukuran buffer yang diperlukan telah ditulis ke parameter output ReturnLength . |
Keterangan
Penyedia tabel SMBIOS mentah ('RSMB') mengambil konten tabel firmware SMBIOS mentah. Data yang ditulis ke buffer FirmwareTableBuffer dimulai dengan struktur berikut:
struct RawSMBIOSData
{
BYTE Used20CallingMethod;
BYTE SMBIOSMajorVersion;
BYTE SMBIOSMinorVersion;
BYTE DmiRevision;
DWORD Length;
BYTE SMBIOSTableData[];
};
Penyedia tabel firmware mentah ('FIRM') mengambil konten rentang alamat fisik yang ditentukan. Nilai yang ditulis ke *ReturnLength adalah ukuran rentang alamat.
Penyedia tabel ACPI ('ACPI') mengambil konten tabel ACPI yang ditentukan. Karena OEM dapat menyertakan tabel firmware ACPI yang tidak tercantum dalam spesifikasi ACPI, Anda harus terlebih dahulu memanggil AuxKlibEnumerateSystemFirmwareTables untuk menghitung semua tabel ACPI yang saat ini tersedia dari firmware sistem.
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.
AuxKlibGetSystemFirmwareTable setara dengan fungsi Win32 GetSystemFirmwareTable .
Driver harus memanggil AuxKlibInitialize sebelum memanggil AuxKlibGetSystemFirmwareTable.
AuxKlibGetSystemFirmwareTable 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 AuxKlibGetSystemFirmwareTable 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk