다음을 통해 공유


PSCreateAdapterFromPropertyStore 함수(propsys.h)

IPropertyStore에서 어댑터를 만듭니다.

구문

PSSTDAPI PSCreateAdapterFromPropertyStore(
  [in]  IPropertyStore *pps,
  [in]  REFIID         riid,
  [out] void           **ppv
);

매개 변수

[in] pps

형식: IPropertyStore*

속성 저장소를 나타내는 IPropertyStore 개체에 대한 포인터입니다.

[in] riid

형식: REFIID

IID에 대한 참조입니다.

[out] ppv

형식: void**

이 함수가 반환되면 는 riid에서 요청된 인터페이스 포인터를 포함합니다.

반환 값

형식: HRESULT

이 함수가 성공하면 S_OK 반환합니다. 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

어댑터 개체는 IPropertySetStorage, IPropertyStore, IPropertyStoreCapabilitiesIObjectProvider를 구현합니다.

IPropertySetStorage 인터페이스가 필요한 API를 사용하여 IPropertyStore를 구현하는 개체가 필요한 경우 이 함수를 사용합니다. 만든 개체는 IPropertySetStorage를 사용하여 네임스페이스 항목에 바인딩을 지원하려는 네임스페이스 확장에도 유용할 수 있습니다. 애플리케이션은 한 번에 하나의 스레드에서만 이 개체를 호출해야 합니다.

이 함수에서 만든 어댑터 속성 저장소는 원본 IPropertyStore 인터페이스에 대한 참조를 유지합니다. 따라서 호출 애플리케이션은 이 함수를 호출한 후 편리할 때마다 원본 IPropertyStore 에 대한 참조를 자유롭게 해제할 수 있습니다.

어댑터 속성 저장소는 IPropertyStore 인터페이스의 메서드를 적절하게 호출합니다. 따라서 호출하는 애플리케이션이 저장소에 값을 쓰는 경우 인터페이스 중 하나에서만 IPropertyStore::Commit 메서드를 호출해야 합니다.

예제

더 큰 프로그램의 일부로 포함할 다음 예제에서는 PSCreateAdapterFromPropertyStore 를 사용하여 어댑터 속성 저장소를 사용하여 IPropertyStore 인터페이스를 IPropertySetStorage 인터페이스로 변환하는 방법을 보여 줍니다.

// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
IPropertySetStorage *pSetStorage;

HRESULT hr = PSCreateadapterFromPropertyStore(ppropstore, IID_PPV_ARGS(&pSetStorage));

if (SUCCEEDED(hr))
{
    // pSetStorage is now valid and can be used to access the data in ppropstore.
    pSetStorage->Release();
}

요구 사항

요구 사항
지원되는 최소 클라이언트 WINDOWS XP SP2, Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 WINDOWS Server 2003 SP1 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 propsys.h
라이브러리 Propsys.lib
DLL Propsys.dll(버전 6.0 이상)
재배포 가능 파일 WDS(Windows 데스크톱 검색) 3.0

추가 정보

IPropertySetStorage

IPropertyStore

PSCreatePropertyStoreFromPropertySetStorage