다음을 통해 공유


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, IPropertyBagIPersistSerializedPropStorage를 구현하는 메모리 내 속성 저장소 개체를 만듭니다.

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

추가 정보

PSCreateMultiplexPropertyStore