다음을 통해 공유


IShellFolder::GetUIObjectOf 메서드(shobjidl_core.h)

지정된 파일 개체 또는 폴더에 대한 작업을 수행하는 데 사용할 수 있는 개체를 가져옵니다.

구문

HRESULT GetUIObjectOf(
  [in]      HWND                  hwndOwner,
  [in]      UINT                  cidl,
  [in]      PCUITEMID_CHILD_ARRAY apidl,
  [in]      REFIID                riid,
  [in, out] UINT                  *rgfReserved,
  [out]     void                  **ppv
);

매개 변수

[in] hwndOwner

형식: HWND

클라이언트가 대화 상자 또는 메시지 상자를 표시할지 여부를 지정해야 하는 소유자 창에 대한 핸들입니다.

[in] cidl

형식: UINT

apidl 매개 변수에 지정된 파일 개체 또는 하위 폴더의 수입니다.

[in] apidl

형식: PCUITEMID_CHILD_ARRAY

ITEMIDLIST 구조체에 대한 포인터 배열의 주소로, 각각 부모 폴더를 기준으로 파일 개체 또는 하위 폴더를 고유하게 식별합니다. 각 항목 식별자 목록에는 정확히 하나의 SHITEMID 구조와 종료 0이 포함되어야 합니다.

[in] riid

형식: REFIID

ppv를 통해 검색할 인터페이스의 IID에 대한 참조입니다. 항목에 대해 만들 수 있는 유효한 인터페이스 식별자일 수 있습니다. Shell에서 사용하는 가장 일반적인 식별자는 이 참조의 끝에 있는 주석에 나열됩니다.

[in, out] rgfReserved

형식: UINT*

예약되어 있습니다.

[out] ppv

형식: void**

이 메서드가 성공적으로 반환되면 는 riid에서 요청된 인터페이스 포인터를 포함합니다.

반환 값

형식: HRESULT

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

cidl이 1보다 큰 경우 apiidl에 지정된 모든 항목에 대해 하나의 개체를 만들 수 있는 경우에만 IShellFolder::GetUIObjectOf 구현이 성공해야 합니다. 구현에서 모든 항목에 대해 하나의 개체를 만들 수 없는 경우 이 메서드는 실패합니다.

다음은 셸이 이 메서드에서 인터페이스를 요청할 때 사용하는 가장 일반적인 인터페이스 식별자입니다. 또한 이 목록은 요청된 인터페이스에 대해 cidl 이 둘보다 클 수 있는지를 나타냅니다.

인터페이스 식별자 허용되는 cidl
IContextMenu cidl 매개 변수는 1보다 크거나 같을 수 있습니다.
IContextMenu2 cidl 매개 변수는 1보다 크거나 같을 수 있습니다.
Idataobject cidl 매개 변수는 1보다 크거나 같을 수 있습니다.
Idroptarget cidl 매개 변수는 하나만 사용할 수 있습니다.
IExtractIcon cidl 매개 변수는 하나만 사용할 수 있습니다.
IQueryInfo cidl 매개 변수는 하나만 사용할 수 있습니다.
 

Objbase.h에 정의된 IID_PPV_ARGS 매크로를 사용하여 riidppv 매개 변수를 패키지하는 것이 좋습니다. 이 매크로는 ppv의 값이 가리키는 인터페이스를 기반으로 올바른 IID를 제공하므로 riid 에서 코딩 오류가 발생하여 예기치 않은 결과가 발생할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 shobjidl_core.h(Shobjidl.h 포함)
DLL Shell32.dll(버전 4.0 이상)

추가 정보

IShellFolder

IShellFolder2