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::GetPropertyStoreWithCreateObject 를 PSGetItemPropertyHandlerWithCreateObject 대신 사용하는 것이 좋습니다. 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 |