Función ExSetFirmwareEnvironmentVariable (wdm.h)

La rutina ExSetFirmwareEnvironmentVariable establece el valor de la variable de entorno de firmware del sistema especificada.

Sintaxis

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

Parámetros

[in] VariableName

Puntero a una estructura de UNICODE_STRING que contiene el nombre de la variable de entorno especificada.

[in] VendorGuid

Puntero a un GUID que identifica al proveedor asociado a la variable de entorno especificada. Las variables de entorno se agrupan en espacios de nombres en función de sus GUID de proveedor. Es posible que algunas plataformas de hardware no admitan GUID de proveedor. En estas plataformas, todas las variables se agrupan en un solo espacio de nombres común y se omite el parámetro VendorGuid .

[in] Value

Puntero a un búfer asignado por el autor de la llamada que contiene el valor de datos que se va a escribir en la variable de entorno especificada.

[in] ValueLength

Tamaño, en bytes, del valor de datos contenido en el búfer valor .

[in] Attributes

Atributos que se van a asignar a la variable de entorno especificada. El bit de atributo VARIABLE_ATTRIBUTE_NON_VOLATILE debe establecerse o se producirá un error en esta llamada. Para obtener más información sobre los bits de atributo definidos para este parámetro, vea Comentarios en ExGetFirmwareEnvironmentVariable.

Valor devuelto

ExSetFirmwareEnvironmentVariable devuelve STATUS_SUCCESS si se realiza correctamente. Entre los posibles valores devueltos se incluyen los siguientes códigos de estado de error.

Código devuelto Descripción
STATUS_INSUFFICIENT_RESOURCES
Los recursos del sistema disponibles no son suficientes para completar la operación solicitada.
STATUS_INVALID_PARAMETER
Uno de los parámetros no es válido.
STATUS_NOT_IMPLEMENTED
Esta rutina no se admite en esta plataforma.
STATUS_UNSUCCESSFUL
El firmware devolvió un error no reconocido.

Comentarios

El autor de la llamada requiere el privilegio del entorno del sistema (SE_SYSTEM_ENVIRONMENT_PRIVILEGE) para usar esta rutina.

Las variables de entorno de firmware del sistema contienen valores de datos que se pasan entre el entorno de firmware de arranque implementado en la plataforma de hardware y los cargadores del sistema operativo y otro software que se ejecuta en el entorno de firmware. Para obtener más información, vea Comentarios en ExGetFirmwareEnvironmentVariable.

Si crea un almacén de datos de copia de seguridad, puede usar la rutina ExGetFirmwareEnvironmentVariable para guardar toda la configuración de arranque de la plataforma. Más adelante, puede usar ExSetFirmwareEnvironmentVariable para restaurar esta configuración si es necesario.

ExSetFirmwareEnvironmentVariable es el equivalente en modo kernel de la función SetFirmwareEnvironmentVariable de Win32.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Consulte también

ExGetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariable

UNICODE_STRING