ITransferSource::OpenItem 方法 (shobjidl_core.h)

打开要复制的项。 返回一个对象,该对象可为 IShellItemResources) (资源枚举。

语法

HRESULT OpenItem(
  [in]  IShellItem            *psi,
  [in]  TRANSFER_SOURCE_FLAGS flags,
  [out] REFIID                riid,
  [out] void                  **ppv
);

参数

[in] psi

类型: IShellItem*

指向要打开的 IShellItem 的指针。

[in] flags

类型: TRANSFER_SOURCE_FLAGS

控制文件操作的标志。 一个或多个 TRANSFER_SOURCE_FLAGS 常量。

[out] riid

类型: REFIID

对 IID 的引用 (接口的接口 ID 或 GUID) ,以 ppv 形式返回。 这应该是 IShellItemResources 或派生自 IShellItemResources 的接口。

[out] ppv

类型: void**

此方法返回时,包含指向 riid 指定的接口的指针的地址。

返回值

类型: HRESULT

如果成功,则返回S_OK,或者以下特定 Shell 代码之一或系统错误代码。

返回代码 说明
COPYENGINE_S_YES
用户对对话框进行了响应“是”。
COPYENGINE_S_USER_RETRY
用户已响应重试当前操作。
COPYENGINE_S_USER_IGNORED
用户响应了对话框的“否”。
COPYENGINE_S_MERGE
用户已响应合并文件夹。
COPYENGINE_S_USER_RETRY_WITH_NEW_NAME
用户已响应使用新名称重试文件。
COPYENGINE_S_DONT_PROCESS_CHILDREN
不应处理子项。
COPYENGINE_S_PENDING
错误已排队,稍后将显示。
COPYENGINE_E_USER_CANCELLED
用户取消了当前操作。
COPYENGINE_E_REQUIRES_ELEVATION
操作需要提升的权限。

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)