Partager via


Fonction AuxKlibEnumerateSystemFirmwareTables (aux_klib.h)

La routine AuxKlibEnumerateSystemFirmwareTables énumère toutes les tables de microprogramme système du type spécifié.

Syntaxe

NTSTATUS AuxKlibEnumerateSystemFirmwareTables(
  [in]            ULONG  FirmwareTableProviderSignature,
  [out, optional] PVOID  FirmwareTableBuffer,
  [in]            ULONG  BufferLength,
  [out, optional] PULONG ReturnLength
);

Paramètres

[in] FirmwareTableProviderSignature

Identificateur du fournisseur de table de microprogramme vers lequel la requête doit être dirigée. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
'ACPI' Fournisseur de table de microprogramme ACPI.
'FIRM' Fournisseur de table de microprogramme brut.
'RSMB' Fournisseur de table de microprogrammes SMBIOS brut.

[out, optional] FirmwareTableBuffer

Pointeur vers une mémoire tampon allouée à l’appelant dans laquelle la routine écrit la liste des tables de microprogrammes. Si ce paramètre a la valeur NULL, la valeur écrite dans *ReturnLength est la taille de mémoire tampon requise. Pour plus d’informations sur le contenu de cette mémoire tampon, consultez la section Remarques.

[in] BufferLength

Taille, en octets, de la mémoire tampon pointée par FirmwareTableBuffer.

[out, optional] ReturnLength

Pointeur vers un emplacement dans lequel la routine écrit le nombre d’octets de données écrites dans la mémoire tampon pointée par FirmwareTableBuffer.

Valeur retournée

AuxKlibEnumerateSystemFirmwareTables retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour possibles incluent les codes d’erreur suivants.

Code de retour Description
STATUS_INVALID_PARAMETER
Un paramètre non valide a été fourni à la routine.
STATUS_BUFFER_TOO_SMALL
La mémoire tampon allouée à l’appelant est trop petite, mais la taille de mémoire tampon requise a été écrite dans le paramètre de sortie ReturnLength .

Remarques

Si l’appel réussit, cette routine écrit un tableau d’un ou plusieurs identificateurs de table dans la mémoire tampon pointée par le paramètre FirmwareTableBuffer . Chaque élément de ce tableau est une valeur DWORD qui identifie une table de microprogramme disponible à partir du fournisseur spécifié par le paramètre FirmwareTableProviderSignature .

Le fournisseur de table SMBIOS brut (« RSMB ») retourne actuellement un identificateur de table unique, 0x00000000. Cela correspond à la table de microprogrammes SMBIOS brute.

Le fournisseur de table de microprogrammes brut (« FIRM ») récupère une liste d’identificateurs de table DWORD. Chaque identificateur correspond au début d’une plage d’adresses physique. Actuellement, ce fournisseur retourne deux identificateurs, 0x000C0000 et 0x000E0000. Ces identificateurs représentent la mémoire physique de 0x000C0000 à 0x000DFFFF et de 0x000E0000 à 0x000FFFFF, respectivement.

Le fournisseur de table ACPI (« ACPI ») retourne une liste d’identificateurs de table DWORD. Chaque identificateur retourné correspond au champ Signature de la structure DESCRIPTION_HEADER d’une table ACPI actuellement dans l’espace de noms ACPI du système. Pour plus d’informations sur cette structure, consultez configuration avancée et spécification de l’interface d’alimentation sur le site web Configuration avancée et Power Interface .

Pour ACPI, si le microprogramme système contient plusieurs tables portant le même nom, AuxKlibEnumerateSystemFirmwareTables les énumère toutes. Toutefois, AuxKlibGetSystemFirmwareTable récupère uniquement la première table de la liste qui porte ce nom.

AuxKlibEnumerateSystemFirmwareTables est l’équivalent en mode noyau de la fonction Win32 EnumSystemFirmwareTables .

Les pilotes doivent appeler AuxKlibInitialize avant d’appeler AuxKlibEnumerateSystemFirmwareTable.

AuxKlibEnumerateSystemFirmwareTables est défini dans le fichier d’en-tête Aux_klib.h inclus dans le WDK pour les versions Windows 8 et ultérieures de Windows. Pour utiliser cette routine, les pilotes doivent être liés à la version de Aux_klib.lib incluse dans wdK pour Windows 8 et versions ultérieures de Windows. L’implémentation de AuxKlibEnumerateSystemFirmwareTables dans ces versions du WDK peut être utilisée dans les versions de Windows à partir de Windows Vista.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge à partir de Windows Vista.
Plateforme cible Universal
En-tête aux_klib.h (include Aux_klib.h)
Bibliothèque Aux_Klib.lib
IRQL PASSIVE_LEVEL

Voir aussi

AuxKlibGetSystemFirmwareTable

AuxKlibInitialize

EnumSystemFirmwareTables