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ò avere 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 di tabelle del firmware. Se questo parametro è NULL, il valore scritto in *ReturnLength è la dimensione del buffer necessaria. 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 |
---|---|
|
Alla routine è stato fornito un parametro non valido. |
|
Il buffer allocato dal chiamante è troppo piccolo, ma le dimensioni del buffer necessarie sono state scritte nel parametro di output ReturnLength . |
Commenti
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 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 rispettivamente la memoria fisica da 0x000C0000 a 0x000DFFFF e da 0x000E0000 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 website.
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.
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 nel 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.
Requisiti
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 |