IVdsDrive::QueryExtents 메서드(vdshwprv.h)
[Windows 8 및 Windows Server 2012 가상 디스크 서비스 COM 인터페이스는 Windows Storage 관리 API로 대체됩니다.]
할당된 익스텐트와 할당되지 않은 익스텐트를 포함하여 드라이브의 익스텐트 배열을 반환합니다.
구문
HRESULT QueryExtents(
[out] VDS_DRIVE_EXTENT **ppExtentArray,
[out] LONG *plNumberOfExtents
);
매개 변수
[out] ppExtentArray
호출자가 전달한 VDS_DRIVE_EXTENT 구조체의 배열에 대한 포인터입니다. 호출자는 CoTaskMemFree 함수를 사용하여 이 배열을 해제해야 합니다.
[out] plNumberOfExtents
VDS_DRIVE_EXTENT 구조체에서 반환된 드라이브 익스텐트 수에 대한 포인터입니다.
반환 값
이 메서드는 표준 HRESULT 값(예: E_INVALIDARG 또는 E_OUTOFMEMORY) 및 VDS 관련 반환 값을 반환할 수 있습니다. 또한 HRESULT_FROM_WIN32 매크로를 사용하여 변환된 시스템 오류 코드를 반환할 수도 있습니다. 오류는 VDS 자체 또는 사용 중인 기본 VDS 공급자 에서 발생할 수 있습니다. 가능한 반환 값은 다음과 같습니다.
반환 코드/값 | Description |
---|---|
|
익스텐트 정보가 성공적으로 반환되었습니다. 익스텐트가 없는 드라이브의 경우 배열이 비어 있고 , plNumberOfExtents 값이 0으로 설정되고, ppExtentArray 값이 NULL로 설정됩니다. |
|
이 반환 값은 배열에 대한 정보를 캐시하는 공급자 내부의 소프트웨어 또는 통신 문제를 알릴 수 있습니다. IVdsHwProvider::Reenumerate 메서드와 IVdsHwProvider::Refresh 메서드를 사용하여 캐시를 복원합니다. |
|
드라이브 개체가 더 이상 존재하지 않습니다. |
|
드라이브가 실패 상태이며 요청된 작업을 수행할 수 없습니다. |
|
다른 작업이 진행 중입니다. 이 작업은 이전 작업 또는 작업이 완료될 때까지 진행할 수 없습니다. |
|
하위 시스템은 이 메서드를 지원하지 않습니다. |
설명
드라이브는 모든 수의 LUN에 영향을 미칠 수 있으며 이러한 LUN은 네트워크의 다양한 컴퓨터에 마스크를 해제할 수 있습니다. IVdsLunPlex::QueryExtents 메서드를 사용하여 LUN 플렉스의 모든 범위를 확인합니다.
각 VDS_DRIVE_EXTENT 구조체의 LunId 멤버는 할당된 각 익스텐트에서 기여하는 LUN의 GUID를 지정합니다. 따라서 이 메서드의 결과를 사용하여 ppExtentArray에서 반환된 고유한 LunId 값의 수를 계산하여 드라이브가 기여하는 LUN 수를 확인할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | vdshwprv.h |
라이브러리 | Uuid.lib |