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


Метод IPortableDeviceContent::D elete (portabledeviceapi.h)

Метод Delete удаляет один или несколько объектов с устройства.

Синтаксис

HRESULT Delete(
  [in]      const DWORD                          dwOptions,
  [in]      IPortableDevicePropVariantCollection *pObjectIDs,
  [in, out] IPortableDevicePropVariantCollection **ppResults
);

Параметры

[in] dwOptions

Один из перечислителей DELETE_OBJECT_OPTIONS .

[in] pObjectIDs

Указатель на интерфейс IPortableDevicePropVariantCollection , содержащий одну или несколько строк, заканчивающихся значением NULL (тип VT_LPWSTR), указывающие идентификаторы удаляемых объектов.

[in, out] ppResults

Необязательный элемент. При возврате этот параметр содержит коллекцию VT_ERROR значений, указывающих на успешное или неудачное выполнение операции. Первый элемент, возвращенный в ppResults , соответствует первому объекту в коллекции pObjectIDs , второй элемент, возвращенный в ppResults , соответствует второму объекту в коллекции pObjectIDs и т. д. Этот параметр может иметь значение NULL , если приложение не связано с результатами.

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

Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Если возвращается какое-либо значение ошибки, никакие объекты на устройстве не были удалены.

Код возврата Описание
S_OK
Метод выполнен успешно.
S_FALSE
Не удалось удалить хотя бы один объект. Параметр ppResults , если он указан, содержит код ошибки для каждого объекта.
E_XXXXXXXX
Драйвер не удалил никаких объектов.
E_INVALIDARG
Для dwOptions указано недопустимое значение.
E_ACCESSDENIED
Приложение не имеет разрешения на удаление объекта .
HRESULT_FROM_WIN32(ERROR_DIR_NOT_EMPTY)
Не удалось удалить указанную папку или каталог, так как они не были пустыми.
HRESULT_FROM_WIN32(ERROR_INVALID_OPERATION)
Приложение, указанное PORTABLE_DEVICE_DELETE_NO_RECURSION, и объект имеет дочерние элементы.
HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
Не удалось удалить объект, так как он не существует на устройстве.

Комментарии

Чтобы узнать, поддерживается ли рекурсивное удаление, вызовите метод IPortableDeviceCapabilities::GetCommandOptions. Если полученный интерфейс IPortableDeviceValues содержит значение свойства с именем WPD_OPTION_OBJECT_MANAGEMENT_RECURSIVE_DELETE_SUPPORTED со значением boolVal True, устройство поддерживает рекурсивное удаление.

В следующей таблице перечислены возможные коды возврата, которые могут отображаться в коллекции, на которую указывает ppResults .

Примеры

Пример использования этого метода см. в разделе Удаление содержимого с устройства.

Требования

Требование Значение
Целевая платформа Windows
Header portabledeviceapi.h
Библиотека PortableDeviceGUIDs.lib

См. также раздел

Удаление содержимого с устройства

Интерфейс IPortableDeviceContent