Partager via


ExSetFirmwareEnvironmentVariable, fonction (wdm.h)

La routine ExSetFirmwareEnvironmentVariable définit la valeur de la variable d’environnement du microprogramme système spécifiée.

Syntaxe

NTSTATUS ExSetFirmwareEnvironmentVariable(
  [in] PUNICODE_STRING VariableName,
  [in] LPGUID          VendorGuid,
  [in] PVOID           Value,
  [in] ULONG           ValueLength,
  [in] ULONG           Attributes
);

Paramètres

[in] VariableName

Pointeur vers une structure UNICODE_STRING qui contient le nom de la variable d’environnement spécifiée.

[in] VendorGuid

Pointeur vers un GUID qui identifie le fournisseur associé à la variable d’environnement spécifiée. Les variables d’environnement sont regroupées dans des espaces de noms en fonction des GUID de leur fournisseur. Certaines plateformes matérielles peuvent ne pas prendre en charge les GUID du fournisseur. Sur ces plateformes, toutes les variables sont regroupées dans un espace de noms commun et le paramètre VendorGuid est ignoré.

[in] Value

Pointeur vers une mémoire tampon allouée à l’appelant qui contient la valeur de données à écrire dans la variable d’environnement spécifiée.

[in] ValueLength

Taille, en octets, de la valeur de données contenue dans la mémoire tampon Valeur .

[in] Attributes

Attributs à affecter à la variable d’environnement spécifiée. Le bit d’attribut VARIABLE_ATTRIBUTE_NON_VOLATILE doit être défini, sinon cet appel échoue. Pour plus d’informations sur les bits d’attribut définis pour ce paramètre, consultez Remarques dans ExGetFirmwareEnvironmentVariable.

Valeur retournée

ExSetFirmwareEnvironmentVariable retourne STATUS_SUCCESS si elle réussit. Les valeurs de retour possibles incluent les codes d’erreur status suivants.

Code de retour Description
STATUS_INSUFFICIENT_RESOURCES
Les ressources système disponibles sont insuffisantes pour terminer l’opération demandée.
STATUS_INVALID_PARAMETER
L’un des paramètres n’est pas valide.
STATUS_NOT_IMPLEMENTED
Cette routine n’est pas prise en charge sur cette plateforme.
STATUS_UNSUCCESSFUL
Le microprogramme a retourné une erreur non reconnue.

Remarques

L’appelant a besoin du privilège d’environnement système (SE_SYSTEM_ENVIRONMENT_PRIVILEGE) pour utiliser cette routine.

Les variables d’environnement du microprogramme système contiennent des valeurs de données qui sont passées entre l’environnement de microprogramme de démarrage implémenté dans la plateforme matérielle et les chargeurs de système d’exploitation et autres logiciels qui s’exécutent dans l’environnement de microprogramme. Pour plus d’informations, consultez Remarques dans ExGetFirmwareEnvironmentVariable.

Si vous créez un magasin de données de sauvegarde, vous pouvez utiliser la routine ExGetFirmwareEnvironmentVariable pour enregistrer tous les paramètres de démarrage de la plateforme. Plus tard, vous pouvez utiliser ExSetFirmwareEnvironmentVariable pour restaurer ces paramètres si nécessaire.

ExSetFirmwareEnvironmentVariable est l’équivalent en mode noyau de la fonction Win32 SetFirmwareEnvironmentVariable .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
Plateforme cible Universal
En-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

ExGetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariable

UNICODE_STRING