基于 IDataObject 指定的项创建 IShellItem 或相关对象。
Syntax
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枚举中的一个或多个值,用于指定有关目标对象的选项。 此值可以为 0。
[in] riid
类型: REFIID
对通过 ppv 检索的接口的 IID 的引用,通常IID_IShellItem。
[out] ppv
类型: void**
此方法返回时,包含 riid 中请求的接口指针。 这通常是 IShellItem。
返回值
类型:HRESULT
如果此函数成功,它将返回 S_OK。 否则,它将返回 HRESULT 错误代码。
注解
建议使用在 Objbase.h 中定义的 IID_PPV_ARGS 宏来打包 riid 和 ppv 参数。 此宏基于 ppv 中值指向的接口提供正确的 IID,从而消除了编码错误的可能性。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows 7 [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 R2 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | shobjidl_core.h (包括 Shobjidl.h) |
| Library | shell32.lib |
| DLL | Shell32.dll(版本 6.1 或更高版本) |