IVdsVolume::BreakPlex 메서드(vds.h)
[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]
현재 볼륨에서 지정된 플렉스를 제거합니다. ppAsync 매개 변수를 통해 IVdsAsync::Wait를 호출하여 새 볼륨 개체에 대한 인터페이스 포인터를 검색할 수 있습니다. 반환된 VDS_ASYNC_OUTPUT 구조체에는 bvp.pVolumeUnk 멤버의 볼륨 개체 인터페이스 포인터가 포함됩니다.
구문
HRESULT BreakPlex(
[in] VDS_OBJECT_ID plexId,
[out] IVdsAsync **ppAsync
);
매개 변수
[in] plexId
끊을 플렉스의 GUID입니다.
[out] ppAsync
반환 시 VDS가 초기화하는 IVdsAsync 인터페이스 포인터의 주소입니다. 호출자는 인터페이스를 해제해야 합니다. 이 포인터를 사용하여 작업의 상태 취소, 대기 또는 쿼리합니다.
이 메서드에서 IVdsAsync::Wait를 호출하고 성공 HRESULT 값이 반환되는 경우 각 인터페이스 포인터에서 IUnknown::Release 메서드를 호출하여 VDS_ASYNC_OUTPUT 구조에 반환된 인터페이스를 해제해야 합니다. 그러나 Wait가 오류 HRESULT 값을 반환하거나 Wait의 pHrResult 매개 변수가 오류 HRESULT 값을 수신하는 경우 VDS_ASYNC_OUTPUT 구조의 인터페이스 포인터는 NULL이며 해제할 필요가 없습니다. Winerror.h에 정의된 SUCCEEDED 및 FAILED 매크로를 사용하여 성공 또는 실패 HRESULT 값을 테스트할 수 있습니다.
반환 값
이 메서드는 E_INVALIDARG 또는 E_OUTOFMEMORY 같은 표준 HRESULT 값과 VDS별 반환 값을 반환할 수 있습니다. HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.
반환 코드/값 | Description |
---|---|
|
플렉스가 성공적으로 손상되었습니다. |
|
볼륨을 사용할 수 없습니다. |
|
볼륨이 미러 아닙니다. |
설명
이 작업은 정확히 하나의 플렉스가 있는 기본 볼륨에는 유효하지 않습니다.
이 메서드를 사용하여 미러 중단합니다. 손상된 플렉스는 새 볼륨이 됩니다. 나머지 플렉스가 부실하거나 누락된 경우 VDS는 작업을 중지하고 오류를 반환합니다. VDS는 작업 중에 볼륨을 분리합니다.
부팅 또는 시스템 플렉스(기본적으로 컴퓨터를 부팅하는 데 사용되는 plex)는 plexId에 유효하지 않습니다. 이러한 플렉스를 전달하면 VDS는 작업을 중지하고 오류를 반환합니다.
구현자는 호출이 비동기 작업을 시작하는지 여부에 관계없이 이 메서드에 대한 IVdsAsync 인터페이스에 대한 포인터를 반환해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vds.h |
라이브러리 | Uuid.lib |