Share via


IVdsServiceUninstallDisk::UninstallDisks 메서드(vds.h)

[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]

디스크 집합을 제거합니다.

구문

HRESULT UninstallDisks(
  [in]  VDS_OBJECT_ID *pDiskIdArray,
  [in]  ULONG         ulCount,
  [in]  BOOLEAN       bForce,
  [out] BOOLEAN       *pbReboot,
  [out] HRESULT       *pResults
);

매개 변수

[in] pDiskIdArray

VDS 개체 ID 배열이 포함된 버퍼의 주소로, 각 디스크를 제거할 수 있습니다. 배열의 각 ID는 고유해야 합니다.

[in] ulCount

pDiskIdArray 매개 변수가 가리키는 버퍼의 VDS 개체 ID 수입니다.

[in] bForce

TRUE이면 볼륨을 잠그거나 분리할 수 없더라도 VDS는 디스크를 제거합니다.

[out] pbReboot

사용자가 제거 프로세스를 완료하기 위해 컴퓨터를 다시 시작해야 하는 경우 TRUE를 수신하는 BOOLEAN 변수의 주소입니다.

[out] pResults

호출자가 할당한 HRESULT 값 배열의 주소입니다. 배열의 요소 수는 pDiskIdArray 매개 변수로 가리켰습니다. 이 배열의 첫 번째 요소는 pDiskIdArray의 첫 번째 요소 등에 해당합니다. 디스크가 제대로 초기화되지 않으면 실패에 대한 특정 오류 코드가 이 배열의 해당 요소에 반환됩니다.

반환 값

이 메서드는 표준 HRESULT 값( 예: E_INVALIDARG 또는 E_OUTOFMEMORY) 및 VDS별 반환 값을 반환할 수 있습니다. HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.

반환 코드/값 Description
S_OK
0
디스크가 성공적으로 제거되었습니다.
S_FALSE
1
이 메서드는 하나 이상의 디스크에 대한 경고 또는 오류 코드를 반환했습니다.
VDS_S_UNABLE_TO_GET_GPT_ATTRIBUTES
0x0004245BL
디스크가 성공적으로 제거되었지만 하나 이상의 디스크에 대해 GPT(GUID 파티션 테이블) 특성을 검색할 수 없습니다.
VDS_E_INTERNAL_ERROR
0x80042448L
VDS에 내부 오류가 발생했습니다. 자세한 내용은 이벤트 로그를 확인하십시오.
VDS_E_MISSING_DISK
0x80042454L
하나 이상의 디스크가 누락되었습니다.
VDS_E_NO_DISK_PATHNAME
0x8004270FL
하나 이상의 디스크에 대해 경로를 검색할 수 없습니다.
VDS_E_NO_VOLUME_PATHNAME
0x80042711L
하나 이상의 볼륨에 대해 경로를 검색할 수 없습니다.
VDS_E_OBJECT_DELETED
0x8004240BL
지정된 VDS 개체 ID 중 하나 이상이 더 이상 존재하지 않는 디스크에 해당합니다.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
지정된 VDS 개체 ID 중 하나 이상이 존재하지 않는 디스크에 해당합니다.
VDS_E_PROVIDER_CACHE_OUTOFSYNC
0x80042712L
공급자의 캐시가 드라이버 캐시와 동기화되지 않습니다.

설명

VDS는 이 메서드를 구현합니다.

동기식인 이 메서드는 먼저 지정된 디스크의 볼륨을 제거한 다음 디스크를 제거합니다. 디스크를 제거한 후 해당 LUN을 마스킹(숨김) 또는 삭제할 수 있습니다.

이 메서드는 디스크의 볼륨에 할당된 드라이브 문자를 정리합니다. 또한 분리 핸들이 닫힌 후 디스크가 실제로 제거되기 전에 볼륨이 다시 탑재되지 않도록 볼륨을 오프라인으로 설정합니다.

둘 이상의 디스크에 걸쳐 있는 동적 볼륨을 제거할 때 디바이스 관리자 함수를 사용하는 대신 이 메서드를 호출해야 합니다.

UninstallDisks 메서드가 지원되지 않는 Windows Server 2003 릴리스에서 디스크를 제거하는 방법에 대한 지침은 IVdsLun::SetMask 메서드의 설명 섹션을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 vds.h
라이브러리 Uuid.lib

추가 정보

IVdsServiceUninstallDisk