Метод 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 .
[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) |