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 |
---|---|
|
Un paramètre non valide a été fourni à la routine. |
|
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 |