다음을 통해 공유


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
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 인터페이스에 boolVal 값이 True인 WPD_OPTION_OBJECT_MANAGEMENT_RECURSIVE_DELETE_SUPPORTED 속성 값이 포함된 경우 디바이스는 재귀 삭제를 지원합니다.

다음 표에서는 ppResults 가 가리키는 컬렉션에 나타날 수 있는 가능한 반환 코드를 나열합니다.

예제

이 메서드를 사용하는 방법에 대한 예제는 디바이스에서 콘텐츠 삭제를 참조하세요.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 portabledeviceapi.h
라이브러리 PortableDeviceGUIDs.lib

추가 정보

디바이스에서 콘텐츠 삭제

IPortableDeviceContent 인터페이스