Share via


IPropertyStore::SetValue 메서드(propsys.h)

이 메서드는 속성 값을 설정하거나 기존 값을 바꾸거나 제거합니다.

구문

HRESULT SetValue(
  REFPROPERTYKEY key,
  REFPROPVARIANT propvar
);

매개 변수

key

TBD

propvar

TBD

반환 값

메서드는 IPropertyStore::SetValue 다음 중 하나를 반환할 수 있습니다.

반환 코드 Description
S_OK
속성 변경에 성공했습니다.
INPLACE_S_TRUNCATED
값이 설정되었지만 잘렸습니다.
STG_E_ACCESSDENIED
오류 코드입니다. 속성 저장소는 읽기 전용이므로 메서드가 값을 설정할 수 없습니다.

설명

IPropertyStore::SetValue는 현재 속성 저장소에만 영향을 instance. 속성 처리기는 메모리 내 데이터 구조의 속성 변경 내용을 누적하여 구현 IPropertyStore::SetValue 합니다. 속성 변경 내용은 IPropertyStore::Commit 이 호출되는 경우에만 스트림에 기록됩니다.

읽기 전용 속성 저장소에서 IPropertyStore::Commit 이 호출되면 속성 처리기가 이를 결정하고 STG_E_ACCESSDENIED 반환합니다.

의 결과로 SetValue값을 추가하거나 제거한 경우 IPropertyStore::GetCount 및 IPropertyStore::GetAt의 후속 열거형은 변경된 값을 반영하기 위해 해당 변경 내용 및 후속 호출을 IPropertyStore::SetValue 반영합니다.

새 속성 추가

키로 가리켰던 속성 값이 저장소에 없으면 저장소 IPropertyStore::SetValue 에 값을 추가합니다.

기존 속성 값 바꾸기

키로 가리켰던 속성 값이 저장소에 이미 있으면 저장된 값이 바뀝니다.

기존 속성 제거

속성 저장소에서 값을 제거하려면 pv에서 가리키는 구조체의 vt 멤버를 VT_EMPTY 설정합니다. 해당 값이 없으면 아무 것도 수행하지 않고 메서드는 S_OK 반환합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 propsys.h
라이브러리 Propsys.idl
IRQL 모든 수준

추가 정보

IPropertyStore

IPropertyStore::Commit

IPropertyStore::GetAt

IPropertyStore::GetCount