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 por 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 Value.

[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.

Valor de retorno

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

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.

Observações

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 SetFirmwareEnvironmentVariable do Win32.

Requisitos

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

Consulte também

ExGetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariable

UNICODE_STRING