SHCreateShellItemArrayFromDataObject 函式 (shobjidl_core.h)

從數據物件建立Shell項目數位物件。

語法

SHSTDAPI SHCreateShellItemArrayFromDataObject(
  [in]  IDataObject *pdo,
  [in]  REFIID      riid,
  [out] void        **ppv
);

參數

[in] pdo

類型: IDataObject*

IDataObject 介面的指標。

[in] riid

類型: REFIID

所需介面識別碼的參考。

[out] ppv

類型: void**

當這個方法傳回時,會包含 riid中要求的介面指標。 這通常是 IShellItemArray

傳回值

類型: HRESULT

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

備註

此函式適用於實作 IShellExtInit 的 Shell 延伸模組,並將數據對象傳遞至 IShellExtInit::Initialize 方法;例如,操作功能表處理程式。

此 API 可讓您將資料物件轉換成處理程式可以使用的 Shell 專案。 建議處理程式使用Shell專案數位,而不是剪貼簿格式 ,例如CF_HDROPCFSTR_SHELLIDLIST (也稱為HIDA) ,因為它會導致較簡單的程式碼,並允許一些效能改善。

產生的殼層項目陣列會保存源資料對象的參考。 因此,該數據對象在殼層項目數位的存留期內必須保持有效。 值得注意的是,傳遞至 IDropTarget 方法的數據物件在卸載作業完成後不再有效。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 shobjidl_core.h (包含 Shobjidl.h)
Dll Shell32.dll
API 集合 ext-ms-win-shell32-l1-2-2 (在 Windows 10 10.0.14393 版中引進)