Compartilhar via


Função ExSetFirmwareEnvironmentVariable (wdm.h)

A rotina ExSetFirmwareEnvironmentVariable define o valor da variável de ambiente de firmware do sistema especificada.

Sintaxe

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

Parâmetros

[in] VariableName

Um ponteiro para uma estrutura UNICODE_STRING que contém o nome da variável de ambiente especificada.

[in] VendorGuid

Um ponteiro para um GUID que identifica o fornecedor associado à variável de ambiente especificada. As variáveis de ambiente são agrupadas em namespaces com base em seus GUIDs de fornecedor. Algumas plataformas de hardware podem não dar suporte a GUIDs do fornecedor. Nessas plataformas, todas as variáveis são agrupadas em um namespace comum e o parâmetro VendorGuid é ignorado.

[in] Value

Um ponteiro para um buffer alocado pelo chamador que contém o valor de dados a ser gravado na variável de ambiente especificada.

[in] ValueLength

O tamanho, em bytes, do valor de dados contido no buffer De valor .

[in] Attributes

Os atributos a serem atribuídos à variável de ambiente especificada. O bit de atributo VARIABLE_ATTRIBUTE_NON_VOLATILE deve ser definido ou essa chamada falhará. Para obter mais informações sobre os bits de atributo definidos para esse parâmetro, consulte Comentários em ExGetFirmwareEnvironmentVariable.

Retornar valor

ExSetFirmwareEnvironmentVariable retornará STATUS_SUCCESS se for bem-sucedido. Os possíveis valores retornados incluem o seguinte erro status códigos.

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES
Os recursos do sistema disponíveis são insuficientes para concluir a operação solicitada.
STATUS_INVALID_PARAMETER
Um dos parâmetros não é válido.
STATUS_NOT_IMPLEMENTED
Não há suporte para essa rotina nesta plataforma.
STATUS_UNSUCCESSFUL
O firmware retornou um erro não reconhecido.

Comentários

O chamador requer o privilégio de ambiente do sistema (SE_SYSTEM_ENVIRONMENT_PRIVILEGE) para usar essa rotina.

As variáveis de ambiente de firmware do sistema contêm valores de dados passados entre o ambiente de firmware de inicialização implementado na plataforma de hardware e os carregadores do sistema operacional e outros softwares executados no ambiente de firmware. Para obter mais informações, consulte Comentários em ExGetFirmwareEnvironmentVariable.

Se você criar um armazenamento de dados de backup, poderá usar a rotina ExGetFirmwareEnvironmentVariable para salvar todas as configurações de inicialização da plataforma. Posteriormente, você pode usar ExSetFirmwareEnvironmentVariable para restaurar essas configurações, se necessário.

ExSetFirmwareEnvironmentVariable é o equivalente ao modo kernel da função Win32 SetFirmwareEnvironmentVariable .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Confira também

ExGetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariable

UNICODE_STRING