Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sinyal bahwa volume akan disiapkan untuk melakukan operasi penyusutan, operasi penyusutan akan dilakukan, atau operasi penyusutan akan dihentikan.
Untuk melakukan operasi ini, panggil fungsi DeviceIoControl dengan parameter berikut.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to device
FSCTL_SHRINK_VOLUME, // dwIoControlCode
(LPVOID) lpInBuffer, // input buffer
nInBufferSize, // size of input buffer
NULL, // output buffer
O, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Keterangan
Kode kontrol ini hanya didukung pada sistem file NTFS dan RAW.
Untuk menyelesaikan operasi penyusutan, Anda harus:
- Panggil CreateFile untuk membuka handel ke volume.
- Hubungi FSCTL_SHRINK_VOLUME. Atur anggota ShrinkRequestType dari struktur SHRINK_VOLUME_INFORMATION ke ShrinkPrepare. Atur anggota NewNumberOfSectors dari struktur yang sama ke nol. Jika panggilan ini berhasil, sistem file tidak akan mengalokasikan kluster di luar akhir panjang volume baru.
- Panggil FSCTL_MOVE_FILE pada semua file di luar jumlah sektor baru dan pindahkan dalam rentang yang valid. Anda bertanggung jawab untuk memindahkan file apa pun yang terpengaruh oleh operasi penyusutan.
- Hubungi FSCTL_SHRINK_VOLUME. Atur anggota ShrinkRequestType dari struktur SHRINK_VOLUME_INFORMATION ke ShrinkCommit. Atur anggota NewNumberOfSectors dari struktur yang sama ke nol. Jika semua file di luar akhir ukuran volume baru belum dipindahkan, panggilan gagal dengan STATUS_ALREADY_COMMITTED (ERROR_ACCESS_DENIED). Jika tidak, sistem file sekarang telah menyusut.
- Hubungi IOCTL_DISK_GROW_PARTITION. Atur anggota BytesToGrow dari struktur DISK_GROW_PARTITION ke angka negatif yang menunjukkan jumlah byte yang akan dihapus.
Di Windows 8 dan Windows Server 2012, kode ini didukung oleh teknologi berikut.
Teknologi | Didukung |
---|---|
Protokol Server Message Block (SMB) 3.0 | Tidak |
SMB 3.0 Transparent Failover (TFO) | Tidak |
SMB 3.0 dengan Scale-out File Shares (SO) | Tidak |
Sistem File Volume Bersama Kluster (CsvFS) | Lihat komentar |
Hanya didukung pada simpul yang memiliki NTFS yang dipasang.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Header | winioctl.h (termasuk Windows.h) |