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) 指定要删除的对象的对象 ID。
[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 |
标头 | portabledeviceapi.h |
Library | PortableDeviceGUIDs.lib |