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 être l’une des valeurs suivantes.

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

[out, optional] FirmwareTableBuffer

Pointeur vers une mémoire tampon allouée par l’appelant auquel la routine écrit la liste des tables de microprogramme. Si ce paramètre est 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 vers lequel la routine écrit le nombre d’octets de données écrites dans la mémoire tampon pointée par FirmwareTableBuffer.

Valeur de retour

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

Retourner le code Description
STATUS_INVALID_PARAMETER
Un paramètre non valide a été fourni à la routine.
STATUS_BUFFER_TOO_SMALL
La mémoire tampon allouée par 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 auprès du fournisseur spécifié par le paramètre FirmwareTableProviderSignature.

Le fournisseur de tables SMBIOS brut ('RSMB') retourne actuellement un identificateur de table unique, 0x00000000. Cela correspond à la table de microprogramme SMBIOS brute.

Le fournisseur de table de microprogramme 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 tables ACPI ('ACPI') retourne une liste d’identificateurs de table DWORD. Chaque identificateur retourné correspond à champ Signature de la structure DESCRIPTION_HEADER pour une table ACPI actuellement dans l’espace de noms ACPI du système. Pour plus d’informations sur cette structure, consultez la spécification Advanced Configuration and Power Interface à l'Advanced Configuration and Power Interface site web.

Pour ACPI, si le microprogramme système contient plusieurs tables portant le même nom, AuxKlibEnumerateSystemFirmwareTables les énumère tous. Toutefois, AuxKlibGetSystemFirmwareTable récupère uniquement la première table de la liste portant 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 wdK pour Windows 8 et versions ultérieures de Windows. Pour utiliser cette routine, les pilotes doivent établir un lien vers 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 de WDK peut être utilisée dans les versions de Windows à partir de Windows Vista.

Exigences

Exigence Valeur
client minimum pris en charge Prise en charge à partir de Windows Vista.
plateforme cible Universel
d’en-tête aux_klib.h (include Aux_klib.h)
bibliothèque Aux_Klib.lib
IRQL PASSIVE_LEVEL

Voir aussi

AuxKlibGetSystemFirmwareTable

AuxKlibInitialize

EnumSystemFirmwareTables