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 매크로를 사용하여 riid 및 ppv 매개 변수를 패키지하는 것이 좋습니다. 이 매크로는 ppv의 값이 가리키는 인터페이스를 기반으로 올바른 IID를 제공하므로 riid 에서 코딩 오류가 발생하여 예기치 않은 결과가 발생할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | shobjidl_core.h(Shobjidl.h 포함) |
DLL | Shell32.dll(버전 4.0 이상) |