IPropertyStore::SetValue 메서드(propsys.h)
이 메서드는 속성 값을 설정하거나 기존 값을 바꾸거나 제거합니다.
구문
HRESULT SetValue(
REFPROPERTYKEY key,
REFPROPVARIANT propvar
);
매개 변수
key
TBD
propvar
TBD
반환 값
메서드는 IPropertyStore::SetValue
다음 중 하나를 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
속성 변경에 성공했습니다. |
|
값이 설정되었지만 잘렸습니다. |
|
오류 코드입니다. 속성 저장소는 읽기 전용이므로 메서드가 값을 설정할 수 없습니다. |
설명
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 | 모든 수준 |