다음을 통해 공유


PSGetItemPropertyHandler 함수(propsys.h)

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

구문

PSSTDAPI PSGetItemPropertyHandler(
  [in]  IUnknown *punkItem,
  [in]  BOOL     fReadWrite,
  [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] riid

형식: REFIID

처리기 개체가 반환해야 하는 인터페이스의 IID에 대한 참조입니다. IPropertyStore 또는 IPropertyStore에서 파생된 인터페이스여야 합니다.

[out] ppv

형식: void**

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

반환 값

형식: PSSTDAPI

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

설명

이 함수는 Windows XP 및 Windows Vista에서 지원됩니다. Windows Vista 이상에서만 지원되는 애플리케이션의 경우 PSGetItemPropertyHandler 대신 IShellItem2::GetPropertyStore를 사용하는 것이 좋습니다. 이 메서드는 반환되는 속성 저장소에 더 풍부한 속성 집합을 제공합니다.

이 함수는 GPS_HANDLERPROPERTIESONLY 플래그를 IShellItem2::GetPropertyStore에 전달하는 것과 거의 같습니다.

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

예제

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

// IShellItem *psi;
// Assume variable psi is valid and initialized.
IPropertyStore *pStore;

HRESULT hr = PSGetItemPropertyHandler(psi, FALSE, 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