次の方法で共有


IPortableDeviceContent::D elete メソッド (portabledeviceapi.h)

Delete メソッドは、デバイスから 1 つ以上のオブジェクトを削除します。

構文

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

パラメーター

[in] dwOptions

DELETE_OBJECT_OPTIONS列挙子の 1 つ。

[in] pObjectIDs

削除するオブジェクトのオブジェクト ID を指定する 1 つ以上の null で終わる文字列 (型VT_LPWSTR) を保持する IPortableDevicePropVariantCollection インターフェイスへのポインター。

[in, out] ppResults

省略可能。 返された場合、このパラメーターには、操作の成功または失敗を示すVT_ERROR値のコレクションが含まれます。 ppResults で返される最初の要素は pObjectIDs コレクションの最初のオブジェクトに対応し、ppResults で返される 2 番目の要素は pObjectIDs コレクション内の 2 番目のオブジェクトに対応します。 アプリケーションが結果に関係しない場合、このパラメーターは NULL にすることができます。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。 エラー値が返された場合、デバイスでオブジェクトは削除されませんでした。

リターン コード 説明
S_OK
メソッドが成功しました。
S_FALSE
少なくとも 1 つのオブジェクトを削除できませんでした。 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 インターフェイスに、 boolVal 値が True の WPD_OPTION_OBJECT_MANAGEMENT_RECURSIVE_DELETE_SUPPORTED というプロパティ値が含まれている場合、デバイスは再帰的な削除をサポートします。

次の表に、 ppResults がポイントするコレクションに表示される可能性のあるリターン コードを示します。

このメソッドの使用方法の例については、「 デバイスからコンテンツを削除する」を参照してください。

要件

要件
対象プラットフォーム Windows
ヘッダー portabledeviceapi.h
Library PortableDeviceGUIDs.lib

こちらもご覧ください

デバイスからコンテンツを削除する

IPortableDeviceContent インターフェイス