AuxKlibEnumerateSystemFirmwareTables 函式 (aux_klib.h)
AuxKlibEnumerateSystemFirmwareTables 例程會列舉指定類型的所有系統韌體數據表。
語法
NTSTATUS AuxKlibEnumerateSystemFirmwareTables(
[in] ULONG FirmwareTableProviderSignature,
[out, optional] PVOID FirmwareTableBuffer,
[in] ULONG BufferLength,
[out, optional] PULONG ReturnLength
);
參數
[in] FirmwareTableProviderSignature
要導向查詢之韌體數據表提供者的標識符。 此參數可以是下列其中一個值。
值 | 意義 |
---|---|
'ACPI' | ACPI 韌體數據表提供者。 |
'FIRM' | 原始韌體數據表提供者。 |
'RSMB' | 原始SMBIOS韌體資料表提供者。 |
[out, optional] FirmwareTableBuffer
呼叫端配置緩衝區的指標,例程會將韌體數據表清單寫入其中。 如果此參數為 NULL,寫入 *ReturnLength 的值就是必要的緩衝區大小。 如需此緩衝區內容的詳細資訊,請參閱一節。
[in] BufferLength
FirmwareTableBuffer 所指向緩衝區的大小,以位元組為單位。
[out, optional] ReturnLength
例程寫入 FirmwareTableBuffer 所指向緩衝區之數據位元組數目的位置指標。
傳回值
如果呼叫成功,AuxKlibEnumerateSystemFirmwareTables 會傳回STATUS_SUCCESS。 可能的傳回值包括下列錯誤碼。
傳回碼 | Description |
---|---|
|
提供無效的參數給例程。 |
|
呼叫端配置的緩衝區太小,但必要的緩衝區大小已寫入 ReturnLength 輸出參數。 |
備註
如果呼叫成功,這個例程會將一或多個數據表標識符的陣列寫入 FirmwareTableBuffer 參數所指向的緩衝區。 此陣列的每個元素都是 DWORD 值,可識別 FirmwareTableProviderSignature 參數所指定提供者提供的韌體數據表。
原始SMBIOS資料表提供者 (『RSMB』) 目前會傳回單一數據表標識碼,0x00000000。 這會對應至原始SMBIOS韌體數據表。
原始韌體數據表提供者 (『FIRM』) 擷取 DWORD 資料表標識碼的清單。 每個標識碼都會對應到實體位址範圍的開頭。 目前,此提供者會傳回兩個標識符,0x000C0000和0x000E0000。 這些標識符分別代表從0x000C0000到0x000DFFFF到0x000E0000到0x000FFFFF的實體記憶體。
ACPI 資料表提供者 (『ACPI』) 會傳回 DWORD 數據表標識碼的清單。 每個傳回的標識碼都會對應至目前位於系統 ACPI 命名空間中 ACPI 數據表之DESCRIPTION_HEADER結構的 [簽章] 字段。 如需此結構的詳細資訊,請參閱進 階設定和 Power Interface 網站的進階設定和 Power Interface 規格。
針對 ACPI,如果系統韌體包含多個具有相同名稱的數據表, 則 AuxKlibEnumerateSystemFirmwareTables 會列舉它們全部。 不過, AuxKlibGetSystemFirmwareTable 只會擷取清單中具有此名稱的第一個數據表。
AuxKlibEnumerateSystemFirmwareTables 是相當於 Win32 EnumSystemFirmwareTables 函 式的核心模式。
驅動程式必須先呼叫 AuxKlibInitialize ,才能呼叫 AuxKlibEnumerateSystemFirmwareTable。
AuxKlibEnumerateSystemFirmwareTables 定義於 Aux_klib.h 頭檔中,其中包含於 Windows 8 和更新版本的 Windows WDK 中。 若要使用此例程,驅動程式應該連結至適用於 Windows 8 和更新版本的 Windows WDK 中包含的 Aux_klib.lib 版本。 這些 WDK 版本中 的 AuxKlibEnumerateSystemFirmwareTables 實作可用於從 Windows Vista 開始的 Windows 版本中。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows Vista 開始支援。 |
目標平台 | Universal |
標頭 | aux_klib.h (包含 Aux_klib.h) |
程式庫 | Aux_Klib.lib |
IRQL | PASSIVE_LEVEL |