다음을 통해 공유


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

폴더 개체에서 정보를 가져오거나 상호 작용하는 데 사용할 수 있는 개체를 요청합니다.

구문

HRESULT CreateViewObject(
  [in]  HWND   hwndOwner,
  [in]  REFIID riid,
  [out] void   **ppv
);

매개 변수

[in] hwndOwner

형식: HWND

소유자 창에 대한 핸들입니다. 사용자 지정 폴더 뷰 개체를 구현한 경우 폴더 보기 창을 hwndOwner의 자식으로 만들어야 합니다.

[in] riid

형식: REFIID

일반적으로 IID_IShellView ppv를 통해 검색할 인터페이스의 IID에 대한 참조입니다.

[out] ppv

형식: void**

이 메서드가 성공적으로 반환되면 는 riid에서 요청된 인터페이스 포인터를 포함합니다. 일반적으로 IShellView입니다. 자세한 내용은 설명 섹션을 참조하세요.

반환 값

형식: HRESULT

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

설명

이 요청을 지원하려면 riid 로 표시된 인터페이스를 노출하는 개체를 만들고 해당 인터페이스에 대한 포인터를 반환합니다.

이 메서드의 주요 목적은 폴더 개체의 폴더 뷰 개체를 Windows Explorer 제공하는 것입니다. Windows Explorer riid를 IID_IShellView 설정하여 폴더 뷰 개체를 요청합니다. 폴더 뷰 개체는 Windows Explorer 폴더 보기에 폴더의 내용을 표시합니다. Windows Explorer 이 메서드를 두 번 이상 호출하여 여러 폴더 뷰 개체를 만들 수 있으므로 폴더 뷰 개체는 Shell 폴더 개체와 독립적이어야 합니다. 이 메서드가 호출될 때마다 새 뷰 개체를 만들어야 합니다. 폴더 개체는 이 요청에 대한 두 가지 방법 중 하나로 응답할 수 있습니다. 다음과 같은 기능이 있습니다.

  • 사용자 지정 폴더 뷰 개체를 만들고 해당 IShellView 인터페이스에 대한 포인터를 반환합니다.
  • 시스템 폴더 뷰 개체를 만들고 해당 IShellView 인터페이스에 대한 포인터를 반환합니다.
이 메서드는 IContextMenu 또는 IExtractIcon을 비롯한 여러 선택적 인터페이스 중 하나를 노출하는 개체를 요청하는 데도 사용됩니다. 이 컨텍스트에서 CreateViewObjectIShellFolder::GetUIObjectOf와 유사합니다. 그러나 IShellFolder::GetUIObjectOf 를 호출하여 폴더에 포함된 항목 중 하나에 대한 개체를 요청합니다. IShellFolder::CreateViewObject를 호출하여 폴더 자체에 대한 개체를 요청합니다. 가장 일반적으로 요청되는 인터페이스는 다음과 같습니다. 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