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

Value 緩衝區中包含的數據值大小,以位元組為單位。

[in] Attributes

要指派給指定環境變數的屬性。 必須設定VARIABLE_ATTRIBUTE_NON_VOLATILE屬性位,否則此呼叫將會失敗。 如需為此參數定義之屬性位的詳細資訊,請參閱 ExGetFirmwareEnvironmentVariable 中的。

傳回值

如果成功,ExSetFirmwareEnvironmentVariable 會傳回STATUS_SUCCESS。 可能的傳回值包括下列錯誤狀態代碼。

傳回碼 Description
STATUS_INSUFFICIENT_RESOURCES
可用的系統資源不足以完成要求的作業。
STATUS_INVALID_PARAMETER
其中一個參數無效。
STATUS_NOT_IMPLEMENTED
此平台不支援此例程。
STATUS_UNSUCCESSFUL
韌體傳回無法辨識的錯誤。

備註

呼叫端需要系統環境許可權 (SE_SYSTEM_ENVIRONMENT_PRIVILEGE) 使用此例程。

系統韌體環境變數包含數據值,這些值會在硬體平台中實作的開機韌體環境與操作系統載入器,以及韌體環境中執行的其他軟體之間傳遞。 如需詳細資訊,請參閱 ExGetFirmwareEnvironmentVariable 中的備註。

如果您建立備份數據存放區,您可以使用 ExGetFirmwareEnvironmentVariable 例程來儲存平臺的所有開機設定。 稍後,您可以使用 ExSetFirmwareEnvironmentVariable 視需要還原這些設定。

ExSetFirmwareEnvironmentVariable 是相當於 Win32 SetFirmwareEnvironmentVariable 函式的核心模式。

規格需求

需求
最低支援的用戶端 從 Windows 8 開始提供。
目標平台 Universal
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL PASSIVE_LEVEL

另請參閱

ExGetFirmwareEnvironmentVariable

SetFirmwareEnvironmentVariable

UNICODE_STRING