IVdsLun::Extend 메서드(vdshwprv.h)
[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]
지정된 바이트 수만큼 LUN을 확장합니다.
구문
HRESULT Extend(
[in] ULONGLONG ullNumberOfBytesToAdd,
[in] VDS_OBJECT_ID *pDriveIdArray,
[in] LONG lNumberOfDrives,
[out] IVdsAsync **ppAsync
);
매개 변수
[in] ullNumberOfBytesToAdd
LUN을 확장할 바이트 수입니다. 바이트 수는 드라이브의 블록 또는 섹터 크기의 짝수 배수일 필요는 없습니다. 공급자는 정렬 요구 사항 또는 기타 제한을 충족하기 위해 바이트 수를 위아래로 반올림할 수 있습니다. 대부분의 경우 공급자가 반올림되어 드문 예외를 제외하고 LUN이 요청된 바이트 수 이상으로 확장되도록 합니다.
[in] pDriveIdArray
드라이브 GUID 배열에 대한 포인터입니다. 공급자는 이러한 드라이브를 사용하여 LUN을 확장합니다. 드라이브는 지정된 시퀀스에서 사용됩니다. 공급자는 다음 드라이브로 이동하기 전에 한 드라이브의 모든 익스텐트를 사용하고 LUN이 요청된 바이트 수만큼 확장되면 중지됩니다.
또는 호출자는 이 매개 변수에서 NULL 을 전달하고 lNumberOfDrives 매개 변수에 0을 전달하여 공급자에게 드라이브를 자동으로 선택하도록 지시할 수 있습니다. NULL 전달은 lNumberOfDrives 매개 변수가 0인 경우에만 유효합니다.
[in] lNumberOfDrives
pDriveIdArray 매개 변수에 지정된 드라이브 수입니다. 호출자가 0을 통과하면 공급자가 드라이브를 선택합니다.
[out] ppAsync
반환 시 VDS가 초기화하는 IVdsAsync 인터페이스 포인터의 주소입니다. 호출자는 인터페이스를 해제해야 합니다. 이 인터페이스를 사용하여 작업의 상태 취소, 대기 또는 쿼리할 수 있습니다.
반환 값
이 메서드는 E_INVALIDARG 또는 E_OUTOFMEMORY 같은 표준 HRESULT 값과 VDS별 반환 값을 반환할 수 있습니다. HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.
반환 코드/값 | 설명 |
---|---|
|
이 반환 값은 배열에 대한 정보를 캐시하는 공급자 내부의 소프트웨어 또는 통신 문제를 알릴 수 있습니다. IVdsHwProvider::Reenumerate 메서드와 IVdsHwProvider::Refresh 메서드를 사용하여 캐시를 복원합니다. |
|
LUN 개체가 더 이상 존재하지 않습니다. |
|
LUN이 실패 상태이며 요청된 작업을 수행할 수 없습니다. |
|
다른 작업이 진행 중입니다. 이 작업은 이전 작업 또는 작업이 완료될 때까지 진행할 수 없습니다. |
|
VDS_OBJECT_ID 상수를 사용하는 모든 메서드에서 반환할 수 있습니다. 이 반환 값은 식별자가 기존 개체를 참조하지 않음을 나타냅니다. |
|
이 작업 또는 매개 변수 조합은 이 공급자에서 지원되지 않습니다. |
|
이 작업에 사용할 수 있는 공간이 충분하지 않습니다. |
|
이 작업을 완료하기 위해 하위 시스템에 무료 드라이브가 충분하지 않습니다. |
설명
호출자는 공급자가 LUN을 확장하는 데 사용할 드라이브 목록을 지정하거나 공급자에게 드라이브를 자동으로 선택하도록 지시할 수 있습니다.
LUN이 확장된 후 호출자는 IOCTL_DISK_UPDATE_PROPERTIES 제어 코드를 사용하여 LUN이 마스크 해제된 컴퓨터에 업데이트된 디스크 크기를 표시하도록 해야 합니다.
구현자는 호출이 비동기 작업을 시작하는지 여부에 관계없이 이 메서드에 대한 IVdsAsync 인터페이스에 대한 포인터를 반환해야 합니다.
ullNumberOfBytesToAdd 매개 변수가 pDriveIdArray 매개 변수에 지정된 드라이브에서 사용할 수 있는 바이트 수보다 큰 경우 먼저 지정된 드라이브를 사용한 다음 사용 가능한 다른 드라이브 중에서 선택합니다. 요청된 바이트 수만큼 LUN을 확장하는 드라이브가 충분하지 않은 경우 오류를 반환하고 LUN을 확장하지 않습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vdshwprv.h |
라이브러리 | Uuid.lib |