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
STATUS_INVALID_PARAMETER
Für die Routine wurde ein ungültiger Parameter angegeben.
STATUS_BUFFER_TOO_SMALL
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

Weitere Informationen

AuxKlibGetSystemFirmwareTable

AuxKlibInitialize

EnumSystemFirmwareTables