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 반환합니다. 그렇지 않으면 메서드는 적절한 오류 코드를 반환합니다. 다음 표에서는 가능한 반환 상태 코드 중 일부를 보여 줍니다.
반환 코드 | 설명 |
---|---|
|
메서드에 전달된 매개 변수 중 하나가 잘못되었음을 나타냅니다. |
|
메서드가 명명된 값 키를 찾을 수 없음을 나타냅니다. |
설명
지정된 키에 지정된 ValueNameSetValueKey
과 일치하는 이름의 기존 값 항목이 없으면 지정된 이름의 새 값 항목을 만듭니다. 일치하는 값 항목 이름이 있는 경우 이 루틴은 지정된 ValueName에 대한 원래 값 항목을 덮어씁니다. 따라서 는 SetValueKey
특정 키의 각 값 항목에 대해 고유한 이름을 유지합니다. 각 값 항목 이름은 포함된 키에 고유해야 하지만 레지스트리의 여러 다른 키에는 동일한 이름의 값 항목이 있을 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | portcls.h(Portcls.h 포함) |
IRQL | PASSIVE_LEVEL |