AuxKlibEnumerateSystemFirmwareTables-Funktion (aux_klib.h)
Die AuxKlibEnumerateSystemFirmwareTables-Routine listet alle Systemfirmwaretabellen des angegebenen Typs auf.
Syntax
NTSTATUS AuxKlibEnumerateSystemFirmwareTables(
[in] ULONG FirmwareTableProviderSignature,
[out, optional] PVOID FirmwareTableBuffer,
[in] ULONG BufferLength,
[out, optional] PULONG ReturnLength
);
Parameter
[in] FirmwareTableProviderSignature
Der Bezeichner des Firmwaretabellenanbieters, an den die Abfrage weitergeleitet werden soll. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert | Bedeutung |
---|---|
'ACPI' | Der ACPI-Firmwaretabellenanbieter. |
"FIRM" | Der Rohware-Firmwaretabellenanbieter. |
"RSMB" | Der rohe SMBIOS-Firmwaretabellenanbieter. |
[out, optional] FirmwareTableBuffer
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, in den die Routine die Liste der Firmwaretabellen schreibt. Wenn dieser Parameter NULL ist, ist der in *ReturnLength geschriebene Wert die erforderliche Puffergröße. Weitere Informationen zum Inhalt dieses Puffers finden Sie im Abschnitt Hinweise.
[in] BufferLength
Die Größe des Puffers in Bytes, auf die von FirmwareTableBuffer verwiesen wird.
[out, optional] ReturnLength
Ein Zeiger auf einen Speicherort, an den die Routine die Anzahl der Byte von Daten schreibt, die in den Puffer geschrieben wurden, auf den FirmwareTableBuffer verweist.
Rückgabewert
AuxKlibEnumerateSystemFirmwareTables gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Rückgabewerte sind die folgenden Fehlercodes.
Rückgabecode | Beschreibung |
---|---|
|
Für die Routine wurde ein ungültiger Parameter angegeben. |
|
Der vom Aufrufer zugewiesene Puffer ist zu klein, aber die erforderliche Puffergröße wurde in den ReturnLength-Ausgabeparameter geschrieben. |
Hinweise
Wenn der Aufruf erfolgreich ist, schreibt diese Routine ein Array aus mindestens einem Tabellenbezeichner in den Puffer, auf den der FirmwareTableBuffer-Parameter verweist. Jedes Element dieses Arrays ist ein DWORD-Wert, der eine Firmwaretabelle identifiziert, die von dem anbieter verfügbar ist, der durch den FirmwareTableProviderSignature-Parameter angegeben wird.
Der RAW-SMBIOS-Tabellenanbieter ("RSMB") gibt derzeit einen einzelnen Tabellenbezeichner zurück, 0x00000000. Dies entspricht der rohen SMBIOS-Firmwaretabelle.
Der Rohwaretabellenanbieter ("FIRM") ruft eine Liste von DWORD-Tabellenbezeichnern ab. Jeder Bezeichner entspricht dem Anfang eines physischen Adressbereichs. Derzeit gibt dieser Anbieter zwei Bezeichner zurück, 0x000C0000 und 0x000E0000. Diese Bezeichner stellen physischen Arbeitsspeicher von 0x000C0000 bis 0x000DFFFF bzw. von 0x000E0000 bis 0x000FFFFF dar.
Der ACPI-Tabellenanbieter ('ACPI') gibt eine Liste von DWORD-Tabellenbezeichnern zurück. Jeder zurückgegebene Bezeichner entspricht dem Signaturfeld der DESCRIPTION_HEADER Struktur für eine ACPI-Tabelle, die sich derzeit im ACPI-Namespace des Systems befindet. Weitere Informationen zu dieser Struktur finden Sie unter Advanced Configuration and Power Interface Specification (Spezifikation für erweiterte Konfiguration und Energieschnittstelle) auf der Website für erweiterte Konfiguration und Power Interface .
Wenn die Systemfirmware mehrere Tabellen mit demselben Namen enthält, listet AuxKlibEnumerateSystemFirmwareTables alle für ACPI auf. AuxKlibGetSystemFirmwareTable ruft jedoch nur die erste Tabelle in der Liste ab, die diesen Namen hat.
AuxKlibEnumerateSystemFirmwareTables ist das Kernelmodusäquivalent der Win32 EnumSystemFirmwareTables-Funktion .
Treiber müssen AuxKlibInitialize aufrufen, bevor sie AuxKlibEnumerateSystemFirmwareTable aufrufen.
AuxKlibEnumerateSystemFirmwareTables ist in der Headerdatei Aux_klib.h definiert, die im WDK für Windows 8 und höhere Versionen von Windows enthalten ist. Um diese Routine zu verwenden, sollten Treiber mit der Version von Aux_klib.lib verknüpfen, die im WDK für Windows 8 und höhere Versionen von Windows enthalten ist. Die Implementierung von AuxKlibEnumerateSystemFirmwareTables in diesen Versionen des WDK kann in Windows-Versionen ab Windows Vista verwendet werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Wird ab Windows Vista unterstützt. |
Zielplattform | Universell |
Header | aux_klib.h (Aux_klib.h einschließen) |
Bibliothek | Aux_Klib.lib |
IRQL | PASSIVE_LEVEL |