Condividi tramite


Funzione ExSetFirmwareEnvironmentVariable (wdm.h)

La routine ExSetFirmwareEnvironmentVariable imposta il valore della variabile di ambiente del firmware di sistema specificata.

Sintassi

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

Parametri

[in] VariableName

Puntatore a una struttura UNICODE_STRING contenente il nome della variabile di ambiente specificata.

[in] VendorGuid

Puntatore a un GUID che identifica il fornitore associato alla variabile di ambiente specificata. Le variabili di ambiente vengono raggruppate in spazi dei nomi in base ai GUID del fornitore. Alcune piattaforme hardware potrebbero non supportare GUID del fornitore. In queste piattaforme tutte le variabili vengono raggruppate in uno spazio dei nomi comune e il parametro VendorGuid viene ignorato .

[in] Value

Puntatore a un buffer allocato dal chiamante che contiene il valore dei dati da scrivere nella variabile di ambiente specificata.

[in] ValueLength

Dimensioni, in byte, del valore dei dati contenuto nel buffer Valore .

[in] Attributes

Attributi da assegnare alla variabile di ambiente specificata. Il bit dell'attributo VARIABLE_ATTRIBUTE_NON_VOLATILE deve essere impostato o questa chiamata avrà esito negativo. Per altre informazioni sui bit di attributo definiti per questo parametro, vedere Osservazioni in ExGetFirmwareEnvironmentVariable.

Valore restituito

ExSetFirmwareEnvironmentVariable restituisce STATUS_SUCCESS se ha esito positivo. I valori restituiti possibili includono i codici di stato degli errori seguenti.

Codice restituito Descrizione
STATUS_INSUFFICIENT_RESOURCES
Le risorse di sistema disponibili non sono sufficienti per completare l'operazione richiesta.
STATUS_INVALID_PARAMETER
Uno dei parametri non è valido.
STATUS_NOT_IMPLEMENTED
Questa routine non è supportata in questa piattaforma.
STATUS_UNSUCCESSFUL
Il firmware ha restituito un errore non riconosciuto.

Commenti

Il chiamante richiede il privilegio dell'ambiente di sistema (SE_SYSTEM_ENVIRONMENT_PRIVILEGE) per usare questa routine.

Le variabili di ambiente del firmware di sistema contengono valori di dati passati tra l'ambiente del firmware di avvio implementato nella piattaforma hardware e i caricatori del sistema operativo e altri software eseguiti nell'ambiente firmware. Per altre informazioni, vedere Osservazioni in ExGetFirmwareEnvironmentVariable.

Se si crea un archivio dati di backup, è possibile usare la routine ExGetFirmwareEnvironmentVariable per salvare tutte le impostazioni di avvio per la piattaforma. In un secondo momento, è possibile usare ExSetFirmwareEnvironmentVariable per ripristinare queste impostazioni, se necessario.

ExSetFirmwareEnvironmentVariable è l'equivalente in modalità kernel della funzione Win32 SetFirmwareEnvironmentVariable .

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Vedi anche

ExGetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariable

UNICODE_STRING