共用方式為


IShellFolder::CreateViewObject 方法 (shobjidl_core.h)

要求物件,該物件可用來取得或與資料夾物件互動的資訊。

語法

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

參數

[in] hwndOwner

類型: HWND

擁有者視窗的控制碼。 如果您已實作自訂資料夾檢視物件,則應該將資料夾檢視視窗建立為 hwndOwner的子系。

[in] riid

類型: REFIID

要透過 ppv擷取之介面 IID 的參考,通常IID_IShellView。

[out] ppv

類型: void**

當這個方法成功傳回時,包含 riid中要求的介面指標。 這通常是 IShellView。 如需詳細資訊,請參閱<備註>一節。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

若要支援此要求,請建立物件來公開 riid 所指示的介面,並傳回該介面的指標。

此方法的主要用途是提供 Windows 檔案總管與資料夾物件的資料夾檢視物件。 Windows 檔案總管會將 riid 設定為 IID_IShellView,以要求資料夾檢視物件。 資料夾檢視物件會顯示 Windows 檔案總管資料夾檢視中資料夾的內容。 資料夾檢視物件必須與 Shell 資料夾物件無關,因為 Windows 檔案總管可以多次呼叫此方法來建立多個資料夾檢視物件。 每次呼叫此方法時,都必須建立新的檢視物件。 您的資料夾物件可以透過下列兩種方式之一來回應此要求。 用途:

  • 建立自訂資料夾檢視物件,並傳回其 IShellView 介面的指標。
  • 建立系統資料夾檢視物件,並傳回其 IShellView 介面的指標。
這個方法也可用來要求公開數個選擇性介面之一的物件,包括 ICoNtextMenuIExtractIcon。 在此內容中, CreateViewObject 的使用方式類似于 IShellFolder::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