Поделиться через


Функция ExSetFirmwareEnvironmentVariable (wdm.h)

Подпрограмма ExSetFirmwareEnvironmentVariable задает значение указанной переменной среды встроенного ПО системы.

Синтаксис

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

Параметры

[in] VariableName

Указатель на структуру UNICODE_STRING , содержащую имя указанной переменной среды.

[in] VendorGuid

Указатель на GUID, который идентифицирует поставщика, связанного с указанной переменной среды. Переменные среды группируются в пространства имен на основе идентификаторов GUID поставщика. Некоторые аппаратные платформы могут не поддерживать идентификаторы GUID поставщиков. На этих платформах все переменные группируются в одно общее пространство имен, а параметр VendorGuid игнорируется.

[in] Value

Указатель на буфер, выделенный вызывающим объектом, который содержит значение данных для записи в указанную переменную среды.

[in] ValueLength

Размер (в байтах) значения данных, содержащегося в буфере значений .

[in] Attributes

Атрибуты, назначаемые указанной переменной среды. Необходимо задать бит атрибута VARIABLE_ATTRIBUTE_NON_VOLATILE, иначе вызов завершится ошибкой. Дополнительные сведения о битах атрибутов, определенных для этого параметра, см. в разделе Примечания в ExGetFirmwareEnvironmentVariable.

Возвращаемое значение

ExSetFirmwareEnvironmentVariable возвращает STATUS_SUCCESS в случае успешного выполнения. Возможные возвращаемые значения включают следующие коды состояния ошибок.

Код возврата Описание
STATUS_INSUFFICIENT_RESOURCES
Доступных системных ресурсов недостаточно для выполнения запрошенной операции.
STATUS_INVALID_PARAMETER
Один из параметров недопустим.
STATUS_NOT_IMPLEMENTED
Эта подпрограмма не поддерживается на этой платформе.
STATUS_UNSUCCESSFUL
Встроенное ПО вернуло нераспознанную ошибку.

Комментарии

Вызывающий объект требует привилегии системной среды (SE_SYSTEM_ENVIRONMENT_PRIVILEGE) для использования этой процедуры.

Переменные среды встроенного ПО системы содержат значения данных, передаваемые между средой загрузки встроенного ПО, реализованной на аппаратной платформе, и загрузчиками операционной системы и другим программным обеспечением, работающим в среде встроенного ПО. Дополнительные сведения см. в разделе Примечания в ExGetFirmwareEnvironmentVariable.

При создании резервного хранилища данных можно использовать подпрограмму ExGetFirmwareEnvironmentVariable , чтобы сохранить все параметры загрузки для платформы. Позже вы можете использовать ExSetFirmwareEnvironmentVariable для восстановления этих параметров при необходимости.

ExSetFirmwareEnvironmentVariable — это эквивалент функции Win32 SetFirmwareEnvironmentVariable в режиме ядра.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

См. также раздел

ExGetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariable

UNICODE_STRING