다음을 통해 공유


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