IRegistryKey::SetValueKey 메서드(portcls.h)

메서드는 SetValueKey 열린 키 아래에 값 항목을 바꾸거나 만듭니다.

구문

NTSTATUS SetValueKey(
  [in, optional] PUNICODE_STRING ValueName,
  [in]           ULONG           Type,
  [in]           PVOID           Data,
  [in]           ULONG           DataSize
);

매개 변수

[in, optional] ValueName

설정할 값 항목의 이름을 포함하는 문자열에 대한 포인터입니다. 이름 문자열은 UNICODE_STRING 형식의 구조로 지정됩니다. 값 항목에 이름이 없으면 이 매개 변수를 NULL로 설정합니다. 호출자가 이름 문자열을 지정하지만 지정된 이름이 포함된 키를 기준으로 고유하지 않은 경우 메서드는 기존 값 항목의 데이터를 대체합니다.

[in] Type

ValueName에 쓸 데이터의 형식을 지정합니다. 이 매개 변수를 다음 시스템 정의 형식 중 하나로 설정합니다.

REG_BINARY

REG_DWORD

REG_DWORD_LITTLE_ENDIAN

REG_DWORD_BIG_ENDIAN

REG_EXPAND_SZ

REG_LINK

REG_MULTI_SZ

REG_NONE

REG_SZ

REG_RESOURCE_LIST

REG_RESOURCE_REQUIREMENTS_LIST

REG_FULL_RESOURCE_DESCRIPTOR

이러한 매개 변수 형식은 ZwSetValueKey에 설명되어 있습니다.

[in] Data

데이터를 포함하는 버퍼에 대한 포인터입니다. 이 매개 변수는 함수에 적합한 사용자 제공 구조 또는 값을 가리킵니다.

[in] DataSize

데이터의 크기(바이트)를 지정합니다. 이 매개 변수는 메서드가 데이터가 가리키는 버 퍼에서 복사할 데이터의 바이트 수를 지정합니다.

반환 값

SetValueKey 는 호출이 지정된 값 키를 설정하는 데 성공하면 STATUS_SUCCESS 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다. 다음 표에서는 가능한 반환 상태 코드 중 일부를 보여 줍니다.

반환 코드 설명
STATUS_INVALID_PARAMETER
메서드에 전달된 매개 변수 중 하나가 잘못되었음을 나타냅니다.
STATUS_OBJECT_NAME_NOT_FOUND
메서드가 명명된 값 키를 찾을 수 없음을 나타냅니다.

설명

지정된 키에 지정된 ValueNameSetValueKey과 일치하는 이름의 기존 값 항목이 없으면 지정된 이름의 새 값 항목을 만듭니다. 일치하는 값 항목 이름이 있는 경우 이 루틴은 지정된 ValueName에 대한 원래 값 항목을 덮어씁니다. 따라서 는 SetValueKey 특정 키의 각 값 항목에 대해 고유한 이름을 유지합니다. 각 값 항목 이름은 포함된 키에 고유해야 하지만 레지스트리의 여러 다른 키에는 동일한 이름의 값 항목이 있을 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 portcls.h(Portcls.h 포함)
IRQL PASSIVE_LEVEL

추가 정보

IRegistryKey

UNICODE_STRING

ZwSetValueKey