IVdsPack::MigrateDisks 메서드(vds.h)
[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]
디스크 집합을 한 팩에서 다른 팩으로 마이그레이션합니다.
구문
HRESULT MigrateDisks(
[in] VDS_OBJECT_ID *pDiskArray,
[in] LONG lNumberOfDisks,
[in] VDS_OBJECT_ID TargetPack,
[in] BOOL bForce,
[in] BOOL bQueryOnly,
[out] HRESULT *pResults,
[out] BOOL *pbRebootNeeded
);
매개 변수
[in] pDiskArray
GUID 배열에 대한 포인터입니다. 각 디스크에 대해 하나씩.
[in] lNumberOfDisks
마이그레이션할 디스크 수입니다.
[in] TargetPack
pack 개체의 GUID입니다.
[in] bForce
이 매개 변수를 TRUE로 설정하면 VDS는 이 메서드의 모든 오류를 무시하고 디스크를 무조건 마이그레이션하려고 시도합니다. FALSE로 설정하면 작업이 진행되지 않습니다. 경우에 따라 강제 마이그레이션으로 인해 데이터가 손실될 수 있습니다.
[in] bQueryOnly
이 매개 변수를 TRUE로 설정하면 마이그레이션이 수행되지 않습니다. FALSE로 설정하면 작업이 진행됩니다.
[out] pResults
호출자가 할당한 HRESULT 값 배열의 주소입니다. 배열의 요소 수는 lNumberOfDisks입니다.
디스크를 마이그레이션할 수 있거나 성공적으로 마이그레이션된 경우 해당 배열 요소는 S_OK 받습니다. 그렇지 않으면 공급자가 반환한 경고 코드 또는 오류 코드를 받습니다. 추가 결과 코드 목록은 반환 값을 참조하세요.
[out] pbRebootNeeded
이 매개 변수가 TRUE로 설정된 경우 작업을 완료하려면 컴퓨터를 다시 시작해야 합니다. FALSE로 설정하면 작업을 다시 시작하지 않고 완료됩니다.
반환 값
이 메서드는 표준 HRESULT 값(예: E_INVALIDARG 또는 E_OUTOFMEMORY) 및 VDS 관련 반환 값을 반환할 수 있습니다. 또한 HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.
반환 코드/값 | Description |
---|---|
|
마이그레이션이 성공적으로 완료되었습니다. |
|
하나 이상의 디스크를 변환할 수 없거나 경고와 함께 변환할 수 있습니다. |
|
디스크 중 하나를 사용할 수 없습니다. |
|
외장 팩에 있는 디스크의 하위 집합을 가져오려고 했습니다. |
pResults를 통해 다음 경고 및 오류를 반환할 수 있습니다.
반환 코드/값 | Description |
---|---|
|
마이그레이션 작업의 결과로 부팅 파티션의 파티션 번호가 변경되었습니다. |
|
선택한 디스크에 작업을 완료할 수 있는 충분한 공간이 없습니다. |
|
선택한 디스크에서 활성 파티션이 검색되었으며 활성 운영 체제를 부팅하는 데 사용되는 활성 파티션이 아닙니다. |
|
파티션 정보를 읽을 수 없습니다. |
|
선택한 디스크에서 알 수 없는 형식의 파티션이 검색되었습니다. |
|
선택한 GPT 디스크에는 기본이 아닌 데이터 파티션이 포함되며, 이 파티션 앞에는 하나 이상의 기본 데이터 파티션이 뒤따릅니다. |
|
선택한 디스크의 볼륨을 열 수 없습니다. |
설명
VDS는 이 메서드를 구현합니다.
단일 팩에는 하나의 기본 디스크만 있을 수 있습니다. 따라서 기본 팩과 동적 팩 간에 한 번에 하나의 디스크만 마이그레이션할 수 있습니다.
기본 디스크를 동적 디스크 형식으로 변환할 때 이 작업을 강제로 수행해야 하며 디스크 끝에 LDM 데이터베이스에 충분한 공간이 부족합니다. bForce 매개 변수를 true로 설정하고 공간 제한에도 불구하고 강제로 작업을 수행합니다. 마찬가지로 OEM 파티션이 양쪽에 여유 공간이 있거나 데이터 볼륨이 있는 MBR 디스크의 중간에 있는 경우입니다.
동적 디스크를 동적 팩으로 마이그레이션한 후 IVdsPack::GetProperties 메서드를 사용하여 원본 또는 대상 팩이 이제 온라인 팩인지 확인해야 합니다.
MigrateDisks 메서드를 사용하여 팩에 외장 디스크를 추가하는 방법에 대한 자세한 내용은 팩에 외장 디스크 추가를 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows Vista[데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003[데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vds.h |
라이브러리 | Uuid.lib |