다음을 통해 공유


PSGetItemPropertyHandlerWithCreateObject 함수(propsys.h)

셸 항목에 대한 속성 처리기를 검색합니다.

구문

PSSTDAPI PSGetItemPropertyHandlerWithCreateObject(
  [in]  IUnknown *punkItem,
  [in]  BOOL     fReadWrite,
  [in]  IUnknown *punkCreateObject,
  [in]  REFIID   riid,
  [out] void     **ppv
);

매개 변수

[in] punkItem

형식: IUnknown*

IShellItem을 지원하는 셸 항목의 IUnknown 인터페이스에 대한 포인터입니다.

Windows XP:SHCreateShellItem 을 사용하여 셸 항목을 만듭니다.

Windows Vista:SHCreateItemFromIDList, SHCreateItemFromParsingName, SHCreateItemFromRelativeName, SHCreateItemInKnownFolder 또는 SHCreateItemWithParent 를 사용하여 셸 항목을 만듭니다.

[in] fReadWrite

형식: BOOL

TRUE 이면 읽기/쓰기 속성 처리기를 검색합니다. 읽기 전용 속성 처리기를 검색하려면 FALSE입니다.

[in] punkCreateObject

형식: IUnknown*

ICreateObject를 지원하는 클래스 팩터리 개체의 IUnknown 인터페이스에 대한 포인터입니다.

[in] riid

형식: REFIID

ppv를 통해 검색할 인터페이스의 IID에 대한 참조입니다.

[out] ppv

형식: void**

이 함수가 성공적으로 반환되면 는 riid에서 요청된 인터페이스 포인터를 포함합니다. 일반적으로 IPropertyStore 또는 IPropertyStoreCapabilities입니다.

반환 값

형식: PSSTDAPI

성공하면 S_OK 반환하고, 그렇지 않으면 오류 값을 반환합니다.

설명

이 함수는 IPropertyStore 및 지원 인터페이스를 포함하는 Microsoft WDS(Windows Desktop Search) 재배포 가능 패키지의 일부로 Windows XP에서 지원됩니다. Windows Vista 이상에서만 지원되는 애플리케이션의 경우 IShellItem2::GetPropertyStoreWithCreateObjectPSGetItemPropertyHandlerWithCreateObject 대신 사용하는 것이 좋습니다. IShellItem2::GetPropertyStoreWithCreateObject 는 반환되는 속성 저장소에서 더 풍부한 속성 집합을 제공하기 때문입니다.

이 함수는 GPS_HANDLERPROPERTIESONLY 플래그를 IShellItem2::GetPropertyStoreWithCreateObject에 전달하는 것과 거의 동일합니다.

punkCreateObject 매개 변수를 사용하면 호출자와 다른 컨텍스트에서 속성 저장소를 만들 수 있습니다. instance 경우 ICreateObject 구현으로 인해 속성 저장소가 다른 프로세스에서 만들어질 수 있습니다. 이 매개 변수는 해당 매개 변수를 지원하고 에 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers등록된 속성 처리기에만 사용됩니다.

PSGetItemPropertyHandlerWithCreateObject를 호출하기 전에 CoInitialize 또는 OleInitialize를 사용하여 COM(구성 요소 개체 모델)을 초기화해야 합니다. COM은 이 개체의 수명 동안 초기화된 상태로 유지되어야 합니다.

예제

더 큰 프로그램의 일부로 포함할 다음 예제에서는 PSGetItemPropertyHandlerWithCreateObject 를 사용하여 항목에 대한 속성 처리기를 가져오는 방법을 보여 줍니다.

// IShellItem *psi;
// ICreateObject *pco;
// Assume variables pco and psi are valid and initialized.
IPropertyStore *pStore;

HRESULT hr = PSGetItemPropertyHandlerWithCreateObject(psi, FALSE, pco, IID_PPV_ARGS(&pStore));

if (SUCCEEDED(hr))
{
    // pStore is now valid and contains properties exposed through the 
    // property handler for the item.
 
    pStore->Release();
}

요구 사항

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

추가 정보

IShellItem2::GetPropertyStoreWithCreateObject

속성 처리기 초기화