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 がサポートされていない場合があります。 これらのプラットフォームでは、すべての変数が 1 つの共通名前空間にグループ化され、 VendorGuid パラメーターは無視されます。
[in] Value
指定した環境変数に書き込むデータ値を含む、呼び出し元によって割り当てられたバッファーへのポインター。
[in] ValueLength
値バッファーに含まれるデータ値のサイズ (バイト単位)。
[in] Attributes
指定した環境変数に割り当てる属性。 VARIABLE_ATTRIBUTE_NON_VOLATILE属性ビットを設定する必要があります。または、この呼び出しは失敗します。 このパラメーターに定義されている属性ビットの詳細については、「 ExGetFirmwareEnvironmentVariable の解説」を参照してください。
戻り値
ExSetFirmwareEnvironmentVariable は、成功した場合STATUS_SUCCESSを返します。 可能な戻り値には、次のエラー状態コードが含まれます。
リターン コード | 説明 |
---|---|
|
使用可能なシステム リソースは、要求された操作を完了するには不十分です。 |
|
パラメーターの 1 つが無効です。 |
|
このルーチンは、このプラットフォームではサポートされていません。 |
|
ファームウェアが認識できないエラーを返しました。 |
注釈
呼び出し元には、このルーチンを使用するためにシステム環境特権 (SE_SYSTEM_ENVIRONMENT_PRIVILEGE) が必要です。
システム ファームウェア環境変数には、ハードウェア プラットフォームに実装されているブート ファームウェア環境と、オペレーティング システム ローダーとファームウェア環境で実行されるその他のソフトウェアの間で渡されるデータ値が含まれます。 詳細については、「 ExGetFirmwareEnvironmentVariable の解説」を参照してください。
バックアップ データストアを作成する場合は、 ExGetFirmwareEnvironmentVariable ルーチンを使用して、プラットフォームのすべてのブート設定を保存できます。 後で ExSetFirmwareEnvironmentVariable を使用して、必要に応じてこれらの設定を復元できます。
ExSetFirmwareEnvironmentVariable は、Win32 SetFirmwareEnvironmentVariable 関数に相当するカーネル モードです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
こちらもご覧ください
ExGetFirmwareEnvironmentVariable