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 を返します。 有効な値を次の表に示しますが、これ以外にもあります。 エラー値が返された場合、デバイスでオブジェクトは削除されませんでした。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
少なくとも 1 つのオブジェクトを削除できませんでした。 ppResults パラメーターを指定すると、オブジェクトごとのエラー コードが含まれます。 |
|
ドライバーはオブジェクトを削除しませんでした。 |
|
dwOptions に無効な値が指定されました。 |
|
アプリケーションには、オブジェクトを削除するアクセス許可がありません。 |
|
指定したフォルダーまたはディレクトリは空ではなかったため、削除できませんでした。 |
|
PORTABLE_DEVICE_DELETE_NO_RECURSION指定されたアプリケーションで、オブジェクトに子が含まれます。 |
|
オブジェクトはデバイスに存在しないため、削除できませんでした。 |
注釈
再帰的な削除がサポートされているかどうかを確認するには、 IPortableDeviceCapabilities::GetCommandOptions を呼び出します。 取得した IPortableDeviceValues インターフェイスに、 boolVal 値が True の WPD_OPTION_OBJECT_MANAGEMENT_RECURSIVE_DELETE_SUPPORTED というプロパティ値が含まれている場合、デバイスは再帰的な削除をサポートします。
次の表に、 ppResults がポイントするコレクションに表示される可能性のあるリターン コードを示します。
例
このメソッドの使用方法の例については、「 デバイスからコンテンツを削除する」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | portabledeviceapi.h |
Library | PortableDeviceGUIDs.lib |