Поделиться через


Метод 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 (идентификатор интерфейса или GUID) интерфейса, возвращаемого в ppv. Это должен быть интерфейс IShellItemResources или интерфейс, производный от IShellItemResources.

[out] ppv

Тип: void**

При возврате этого метода содержит адрес указателя на интерфейс, заданный riid.

Возвращаемое значение

Тип: HRESULT

Возвращает S_OK в случае успешного выполнения, один из следующих кодов оболочки или код системной ошибки.

Код возврата Описание
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
Header shobjidl_core.h (включая Shobjidl.h)