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