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
삭제할 개체의 개체 ID를 지정하는 하나 이상의 null로 끝나는 문자열(VT_LPWSTR 형식)을 포함하는 IPortableDevicePropVariantCollection 인터페이스에 대한 포인터입니다.
[in, out] ppResults
선택 사항입니다. 반환 시 이 매개 변수에는 작업의 성공 또는 실패를 나타내는 VT_ERROR 값 컬렉션이 포함됩니다. ppResults에서 반환된 첫 번째 요소는 pObjectIDs 컬렉션의 첫 번째 개체에 해당하고, ppResults에서 반환된 두 번째 요소는 pObjectIDs 컬렉션의 두 번째 개체에 해당합니다. 애플리케이션이 결과와 관련이 없는 경우 이 매개 변수는 NULL 일 수 있습니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다. 오류 값이 반환되면 디바이스에서 개체가 삭제되지 않습니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
하나 이상의 개체를 삭제할 수 없습니다. ppResults 매개 변수(지정된 경우)에는 개체별 오류 코드가 포함됩니다. |
|
드라이버가 개체를 삭제하지 않았습니다. |
|
dwOptions에 잘못된 값이 지정되었습니다. |
|
애플리케이션에 개체를 삭제할 수 있는 권한이 없습니다. |
|
지정한 폴더 또는 디렉터리가 비어 있지 않아 삭제할 수 없습니다. |
|
애플리케이션이 PORTABLE_DEVICE_DELETE_NO_RECURSION 지정하고 개체에 자식이 있습니다. |
|
개체가 디바이스에 없으므로 삭제할 수 없습니다. |
설명
재귀 삭제가 지원되는지 확인하려면 IPortableDeviceCapabilities::GetCommandOptions를 호출합니다. 검색된 IPortableDeviceValues 인터페이스에 boolVal 값이 True인 WPD_OPTION_OBJECT_MANAGEMENT_RECURSIVE_DELETE_SUPPORTED 속성 값이 포함된 경우 디바이스는 재귀 삭제를 지원합니다.
다음 표에서는 ppResults 가 가리키는 컬렉션에 나타날 수 있는 가능한 반환 코드를 나열합니다.
예제
이 메서드를 사용하는 방법에 대한 예제는 디바이스에서 콘텐츠 삭제를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | portabledeviceapi.h |
라이브러리 | PortableDeviceGUIDs.lib |