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


Метод ITransferDestination::CreateItem (shobjidl_core.h)

Создает указанный файл.

Синтаксис

HRESULT CreateItem(
  [in]  LPCWSTR               pszName,
  [in]  DWORD                 dwAttributes,
  [in]  ULONGLONG             ullSize,
  [in]  TRANSFER_SOURCE_FLAGS flags,
  [out] REFIID                riidItem,
  [out] void                  **ppvItem,
  [in]  REFIID                riidResources,
  [out] void                  **ppvResources
);

Параметры

[in] pszName

Тип: LPCWSTR

Указатель на буфер с пустым завершением, который содержит имя файла относительно текущего каталога.

[in] dwAttributes

Тип: DWORD

Один или несколько флагов FILE_ATTRIBUTE, определенных в структуре BY_HANDLE_FILE_INFORMATION . Наиболее важным значением является FILE_ATTRIBUTE_DIRECTORY, указывающее, что необходимо создать папку.

[in] ullSize

Тип: ULONGLONGLONG

Размер создаваемого файла (в байтах). Если размер неизвестен, это значение может быть равно 0.

[in] flags

Тип: TRANSFER_SOURCE_FLAGS

Флаги, управляющие операцией с файлом. Один или несколько флагов TRANSFER_SOURCE_FLAGS .

[out] riidItem

Тип: REFIID

Ссылка на IID интерфейса, извлекаемого через ppvItem, обычно IID_IShellItem или другой интерфейс, производный от него.

[out] ppvItem

Тип: void**

При возврате этим методом содержит указатель интерфейса, запрошенный в riidItem. Обычно это IShellItem или производный интерфейс.

[in] riidResources

Тип: REFIID

Ссылка на IID интерфейса, извлекаемого через ppvResources, обычно IID_IShellItemResources или другой интерфейс, производный от него.

[out] ppvResources

Тип: void**

При возврате этим методом содержит указатель интерфейса, запрошенный в riidResources. Обычно это IShellItemResources или производный интерфейс.

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

Тип: HRESULT

Возвращает код успешного выполнения в случае успешного выполнения или значение ошибки в противном случае. Коды успешного выполнения:

  • S_OK. Перемещение выполнено успешно, и ppvItem и ppvResources указывают на допустимые объекты.
  • COPYENGINE_S_USER_IGNORED: конечный элемент уже существует и не был перезаписан. Значения, на которые указывают ppvItem и ppvResources, имеют значение NULL. Если вызывающий объект реализует перемещение как операцию копирования и удаления, вызывающий объект должен завершить перемещение, удалив исходный элемент.

Комментарии

Этот метод можно использовать для создания объекта элемента оболочки, представляющего целевую папку для операции копирования или перемещения. Интерфейс ITransferSource предоставляет методы для фактического перемещения объектов IShellItem в место назначения.

Вызовите метод ITransferDestination::Advise перед вызовом любых других методов ITransferDestination , чтобы обработчик мог вызывать любые возможные ошибки. Если этот параметр не задан, обработчик должен считать это признаком отсутствия отзывов и выполнить операцию "по умолчанию".

Рекомендуется использовать макрос IID_PPV_ARGS , определенный в Objbase.h, для упаковки параметров riidResources и ppvResources . Этот макрос предоставляет правильный КОД на основе интерфейса, на который указывает значение в ppvResources, что исключает возможность ошибки кода.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header shobjidl_core.h (включая Shobjidl.h)