PSCreateMemoryPropertyStore 함수(propsys.h)
메모리 내 속성 저장소를 만듭니다.
구문
PSSTDAPI PSCreateMemoryPropertyStore(
[in] REFIID riid,
[out] void **ppv
);
매개 변수
[in] riid
형식: REFIID
요청된 인터페이스 ID에 대한 참조입니다.
[out] ppv
형식: void**
이 함수가 반환되면 원하는 인터페이스(일반적으로 IPropertyStore 또는 IPersistSerializedPropStorage)에 대한 포인터가 포함됩니다.
반환 값
형식: HRESULT
이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
이 함수는 IPropertyStore,INamedPropertyStore, IPropertyStoreCache, IPersistStream, IPropertyBag 및 IPersistSerializedPropStorage를 구현하는 메모리 내 속성 저장소 개체를 만듭니다.
CoCreateInstance를 사용하여 InMemoryPropertyStore
생성된 (CLSID_InMemoryPropertyStore
) 및 InMemoryPropertyStoreMarshalByValue
(CLSID_InMemoryPropertyStoreMarshalByValue
)로 식별되는 것과 동일한 개체입니다.
InMemoryPropertyStoreMarshalByValue
는 프로세스 간에 개체를 전달하여 더 효율적으로 만드는 디자인에 사용할 수 있습니다.
값별로 마샬링을 구현하여 unmarshal 컨텍스트에서 개체의 복사본을 만들고 비용이 많이 들 수 있는 프로세스 간 통신을 방지합니다.
메모리 속성 저장소에는 기존 표현이 없으므로 IPropertyStore::Commit에 대한 호출은 no-op입니다.
메모리 속성 저장소는 스레드로부터 안전하고 민첩합니다.
예제
다음 예제에서는 를 사용하는 InMemoryPropertyStore
방법을 보여 줍니다.
auto memPropStore = wil::CoCreateInstance<InMemoryPropertyStore, IPropertyStore>();
auto value = PROPVARIANT{};
value.vt = VT_LPWSTR;
value.pwszVal = L"Title";
THROW_IF_FAILED(memPropStore->SetValue(PKEY_Title, value));
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | WINDOWS XP SP2, Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 SP1 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | propsys.h |
라이브러리 | Propsys.lib |
DLL | Propsys.dll(버전 6.0 이상) |
재배포 가능 파일 | WDS(Windows 데스크톱 검색) 3.0 |