Метод 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. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице. Если возвращается какое-либо значение ошибки, никакие объекты на устройстве не были удалены.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Не удалось удалить хотя бы один объект. Параметр ppResults , если он указан, содержит код ошибки для каждого объекта. |
|
Драйвер не удалил никаких объектов. |
|
Для dwOptions указано недопустимое значение. |
|
Приложение не имеет разрешения на удаление объекта . |
|
Не удалось удалить указанную папку или каталог, так как они не были пустыми. |
|
Приложение, указанное PORTABLE_DEVICE_DELETE_NO_RECURSION, и объект имеет дочерние элементы. |
|
Не удалось удалить объект, так как он не существует на устройстве. |
Комментарии
Чтобы узнать, поддерживается ли рекурсивное удаление, вызовите метод IPortableDeviceCapabilities::GetCommandOptions. Если полученный интерфейс IPortableDeviceValues содержит значение свойства с именем WPD_OPTION_OBJECT_MANAGEMENT_RECURSIVE_DELETE_SUPPORTED со значением boolVal True, устройство поддерживает рекурсивное удаление.
В следующей таблице перечислены возможные коды возврата, которые могут отображаться в коллекции, на которую указывает ppResults .
Примеры
Пример использования этого метода см. в разделе Удаление содержимого с устройства.
Требования
Требование | Значение |
---|---|
Целевая платформа | Windows |
Header | portabledeviceapi.h |
Библиотека | PortableDeviceGUIDs.lib |