ITransferSource::OpenItem method (shobjidl_core.h)

Opens the item for copying. Returns an object that can be enumerated for resources (IShellItemResources).

Syntax

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

Parameters

[in] psi

Type: IShellItem*

A pointer to the IShellItem to be opened.

[in] flags

Type: TRANSFER_SOURCE_FLAGS

The flags that control the file operation. One or more of the TRANSFER_SOURCE_FLAGS constants.

[out] riid

Type: REFIID

A reference to the IID (the interface ID or GUID) of the interface to return in ppv. This should be an IShellItemResources or an interface derived from IShellItemResources.

[out] ppv

Type: void**

When this method returns, contains the address of a pointer to the interface specified by riid.

Return value

Type: HRESULT

Returns S_OK if successful, or one of the following specific Shell codes, or a system error code.

Return code Description
COPYENGINE_S_YES
User responded "Yes" to the dialog.
COPYENGINE_S_USER_RETRY
User responded to retry the current action.
COPYENGINE_S_USER_IGNORED
User responded "No" to the dialog.
COPYENGINE_S_MERGE
User responded to merge folders.
COPYENGINE_S_USER_RETRY_WITH_NEW_NAME
User responded to retry the file with new name.
COPYENGINE_S_DONT_PROCESS_CHILDREN
Child items should not be processed.
COPYENGINE_S_PENDING
Error has been queued and will display later.
COPYENGINE_E_USER_CANCELLED
User canceled the current action.
COPYENGINE_E_REQUIRES_ELEVATION
Operation requires elevated privileges.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)