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_HDROP 和 CFSTR_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 版中引進) |