Compartir a través de


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 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 de 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 ejecuta correctamente. Los valores devueltos posibles 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.

Observaciones

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 Valor
cliente mínimo admitido Disponible a partir de Windows 8.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL PASSIVE_LEVEL

Consulte también

ExGetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariable

UNICODE_STRING