Funzione AuxKlibEnumerateSystemFirmwareTables (aux_klib.h)
La routine AuxKlibEnumerateSystemFirmwareTables enumera tutte le tabelle del firmware di sistema del tipo specificato.
Sintassi
NTSTATUS AuxKlibEnumerateSystemFirmwareTables(
[in] ULONG FirmwareTableProviderSignature,
[out, optional] PVOID FirmwareTableBuffer,
[in] ULONG BufferLength,
[out, optional] PULONG ReturnLength
);
Parametri
[in] FirmwareTableProviderSignature
Identificatore del provider di tabelle del firmware a cui deve essere indirizzata la query. Questo parametro può essere uno dei valori seguenti.
Valore | Significato |
---|---|
'ACPI' | Provider di tabelle del firmware ACPI. |
'FIRM' | Provider di tabelle del firmware non elaborato. |
'RSMB' | Provider di tabelle del firmware SMBIOS non elaborato. |
[out, optional] FirmwareTableBuffer
Puntatore a un buffer allocato dal chiamante in cui la routine scrive l'elenco delle tabelle del firmware. Se questo parametro è NULL, il valore scritto in *ReturnLength è la dimensione del buffer richiesta. Per altre informazioni sul contenuto di questo buffer, vedere la sezione Osservazioni.
[in] BufferLength
Dimensioni, in byte, del buffer a cui punta FirmwareTableBuffer.
[out, optional] ReturnLength
Puntatore a una posizione in cui la routine scrive il numero di byte di dati scritti nel buffer a cui punta FirmwareTableBuffer.
Valore restituito
AuxKlibEnumerateSystemFirmwareTables restituisce STATUS_SUCCESS se la chiamata ha esito positivo. I valori restituiti possibili includono i codici di errore seguenti.
Codice restituito | Descrizione |
---|---|
|
È stato fornito un parametro non valido alla routine. |
|
Il buffer allocato dal chiamante è troppo piccolo, ma le dimensioni necessarie del buffer sono state scritte nel parametro di output ReturnLength. |
Osservazioni
Se la chiamata ha esito positivo, questa routine scrive una matrice di uno o più identificatori di tabella nel buffer a cui punta il parametro FirmwareTableBuffer. Ogni elemento di questa matrice è un valore DWORD che identifica una tabella del firmware disponibile dal provider specificato dal parametro FirmwareTableProviderSignature.
Il provider di tabelle SMBIOS non elaborato ('RSMB') restituisce attualmente un singolo identificatore di tabella, 0x00000000. Corrisponde alla tabella del firmware SMBIOS non elaborata.
Il provider di tabelle del firmware non elaborato ('FIRM') recupera un elenco di identificatori di tabella DWORD. Ogni identificatore corrisponde all'inizio di un intervallo di indirizzi fisici. Attualmente, questo provider restituisce due identificatori, 0x000C0000 e 0x000E0000. Questi identificatori rappresentano la memoria fisica da 0x000C0000 a 0x000DFFFF e da 0x000E0000 rispettivamente a 0x000FFFFF.
Il provider di tabelle ACPI ('ACPI') restituisce un elenco di identificatori di tabella DWORD. Ogni identificatore restituito corrisponde al campo firma della struttura DESCRIPTION_HEADER per una tabella ACPI attualmente nello spazio dei nomi ACPI del sistema. Per altre informazioni su questa struttura, vedere Advanced Configuration and Power Interface Specification nel sito Web Advanced Configuration and Power Interface.For more information about this structure, see the Advanced Configuration and Power Interface Specification at the Advanced Configuration and Power Interface.
Per ACPI, se il firmware di sistema contiene più tabelle con lo stesso nome, AuxKlibEnumerateSystemFirmwareTables li enumera tutti. Tuttavia, AuxKlibGetSystemFirmwareTable recupera solo la prima tabella nell'elenco con questo nome.
AuxKlibEnumerateSystemFirmwareTables è l'equivalente in modalità kernel della funzione Win32 EnumSystemFirmwareTables.
I driver devono chiamare AuxKlibInitialize prima di chiamare AuxKlibEnumerateSystemFirmwareTable.
il file di intestazione AuxKlibEnumerateSystemFirmwareTables è definito nel file di intestazione Aux_klib.h incluso in WDK per Windows 8 e versioni successive di Windows. Per usare questa routine, i driver devono essere collegati alla versione di Aux_klib.lib inclusa in WDK per Windows 8 e versioni successive di Windows. L'implementazione di AuxKlibEnumerateSystemFirmwareTables in queste versioni di WDK può essere usata nelle versioni di Windows a partire da Windows Vista.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato a partire da Windows Vista. |
piattaforma di destinazione | Universale |
intestazione | aux_klib.h (includere Aux_klib.h) |
libreria | Aux_Klib.lib |
IRQL | PASSIVE_LEVEL |