共用方式為


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
標頭 portabledeviceapi.h
程式庫 PortableDeviceGUIDs.lib

另請參閱

從裝置刪除內容

IPortableDeviceContent 介面