SHGetItemFromDataObject 函数 (shobjidl_core.h)

基于 IDataObject 指定的项创建 IShellItem 或相关对象。

语法

HRESULT SHGetItemFromDataObject(
  [in]  IDataObject            *pdtobj,
  [in]  DATAOBJ_GET_ITEM_FLAGS dwFlags,
  [in]  REFIID                 riid,
  [out] void                   **ppv
);

参数

[in] pdtobj

类型: IDataObject*

指向源 IDataObject 实例的 指针。

[in] dwFlags

类型: DATAOBJ_GET_ITEM_FLAGS

DATAOBJ_GET_ITEM_FLAGS 枚举中的一个或多个值,用于指定有关目标对象的选项。 此值可以为 0。

[in] riid

类型: REFIID

对要通过 ppv 检索的接口 IID 的引用,通常IID_IShellItem。

[out] ppv

类型: void**

此方法返回时,包含 riid 中请求的接口指针。 这通常是 IShellItem

返回值

类型: HRESULT

如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

建议使用 Objbase.h 中定义的 IID_PPV_ARGS 宏打包 riidppv 参数。 此宏基于 ppv 中的 值指向的接口提供正确的 IID,这消除了编码错误的可能性。

要求

要求
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (6.1 或更高版本)