Metode IVdsDisk3::QueryFreeExtents (vds.h)

[Dimulai dengan Windows 8 dan Windows Server 2012, antarmuka COM Layanan Disk Virtual digantikan oleh WINDOWS Storage Management API.]

Mengembalikan jangkauan bebas pada disk dan menyelaraskannya ke ukuran perataan yang ditentukan.

Sintaks

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

Parameter

[in] ulAlign

Ukuran perataan, dalam byte. Nilai ini harus kelipatan ukuran sektor disk. Jika parameter ini nol, nilai perataan default untuk volume digunakan. Perataan default tergantung pada ukuran disk tempat volume berada. Semua partisi dan volume diselaraskan menggunakan nilai di bawah kunci registri berikut:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vds\Alignment

Jika kunci registri ini tidak diatur, perataan default adalah 1 MB jika disk 4 GB atau lebih besar, atau 64 KB jika disk lebih kecil dari 4 GB.

[out] ppFreeExtentArray

Alamat variabel pointer yang menerima
array struktur VDS_DISK_FREE_EXTENT , satu untuk setiap tingkat gratis. Pemanggil harus membebaskan array ini dengan menggunakan fungsi CoTaskMemFree . Jika tidak ada tingkat gratis, pointer diatur ke NULL pada output dan tidak perlu dibebaskan.

[out] plNumberOfFreeExtents

Penunjuk ke variabel yang menerima jumlah total struktur VDS_DISK_FREE_EXTENT . Jika tidak ada tingkat gratis, pointer diatur ke NULL pada output dan tidak perlu dibebaskan.

Nilai kembali

Metode ini dapat mengembalikan nilai HRESULT standar, seperti E_INVALIDARG atau E_OUTOFMEMORY, dan nilai pengembalian khusus VDS. Ini juga dapat mengembalikan kode kesalahan sistem yang dikonversi menggunakan makro HRESULT_FROM_WIN32 . Kesalahan dapat berasal dari VDS itu sendiri atau dari penyedia VDS yang mendasar yang sedang digunakan. Kemungkinan nilai yang dikembalikan termasuk yang berikut ini.

Mengembalikan kode/nilai Deskripsi
S_OK
Informasi jangkauan bebas berhasil dikembalikan.
S_FALSE
Tidak ada batasan bebas pada disk.
VDS_E_ALIGN_NOT_SECTOR_SIZE_MULTIPLE
0x80042554L
Nilai perataan yang ditentukan dalam parameter ulAlign bukan kelipatan ukuran sektor disk.

Persyaratan

   
Klien minimum yang didukung Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header vds.h

Lihat juga

IVdsDisk3