다음을 통해 공유


IVdsDisk3::QueryFreeExtents 메서드(vds.h)

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

디스크의 사용 가능한 익스텐트 값을 반환하고 지정된 맞춤 크기에 맞춥니다.

구문

HRESULT QueryFreeExtents(
  [in]  ULONG                ulAlign,
  [out] VDS_DISK_FREE_EXTENT **ppFreeExtentArray,
  [out] LONG                 *plNumberOfFreeExtents
);

매개 변수

[in] ulAlign

맞춤 크기(바이트)입니다. 이 값은 디스크 섹터 크기의 배수여야 합니다. 이 매개 변수가 0이면 볼륨의 기본 맞춤 값이 사용됩니다. 기본 맞춤은 볼륨이 있는 디스크의 크기에 따라 달라집니다. 모든 파티션과 볼륨은 다음 레지스트리 키 아래의 값을 사용하여 정렬됩니다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\Alignment

이 레지스트리 키가 설정되지 않은 경우 기본 맞춤은 디스크가 4GB 이상인 경우 1MB, 디스크가 4GB보다 작은 경우 64KB입니다.

[out] ppFreeExtentArray

를 수신하는 포인터 변수의 주소입니다.
자유 익스텐트마다 하나씩 VDS_DISK_FREE_EXTENT 구조의 배열입니다. 호출자는 CoTaskMemFree 함수를 사용하여 이 배열을 해제해야 합니다. 자유 범위가 없는 경우 포인터는 출력 시 NULL 로 설정되며 해제할 필요가 없습니다.

[out] plNumberOfFreeExtents

VDS_DISK_FREE_EXTENT 구조체의 총 수를 수신하는 변수에 대한 포인터입니다. 자유 범위가 없는 경우 포인터는 출력 시 NULL 로 설정되며 해제할 필요가 없습니다.

반환 값

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

반환 코드/값 Description
S_OK
자유 익스텐트 정보가 성공적으로 반환되었습니다.
S_FALSE
디스크에는 무료 익스텐스가 없습니다.
VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE
0x80042554L
ulAlign 매개 변수에 지정된 맞춤 값은 디스크 섹터 크기의 배수가 아닙니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 vds.h

추가 정보

IVdsDisk3