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.
[Dimulai dengan Windows 8 dan Windows Server 2012, antarmuka COM Layanan Disk Virtual digantikan oleh WINDOWS Storage Management API.]
Mengurangi ukuran volume dan semua pleks, dan mengembalikan tingkat yang dilepaskan ke ruang kosong.
Syntax
HRESULT Shrink(
[in] ULONGLONG ullNumberOfBytesToRemove,
[out] IVdsAsync **ppAsync
);
Parameter-parameternya
[in] ullNumberOfBytesToRemove
Ukuran pengurangan byte.
[out] ppAsync
Alamat penunjuk antarmuka IVdsAsync . VDS menginisialisasi antarmuka saat dikembalikan. Penelepon harus merilis antarmuka. Gunakan antarmuka ini untuk membatalkan, menunggu, atau mengkueri status operasi. Jika IVdsAsync::Wait dipanggil dan nilai HRESULT berhasil dikembalikan, antarmuka yang dikembalikan dalam struktur VDS_ASYNC_OUTPUT harus dirilis dengan memanggil metode IUnknown::Release pada setiap penunjuk antarmuka. Namun, jika Wait mengembalikan nilai HRESULT kegagalan, atau jika parameter pHrResultWait menerima nilai HRESULT kegagalan, pointer antarmuka dalam struktur VDS_ASYNC_OUTPUTadalah NULL dan tidak perlu dirilis. Anda dapat menguji keberhasilan atau kegagalan nilai HRESULT dengan menggunakan makro BERHASIL dan GAGAL yang ditentukan dalam Winerror.h.
Mengembalikan nilai
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 dasar yang sedang digunakan. Kemungkinan nilai yang dikembalikan termasuk yang berikut ini.
| Mengembalikan kode/nilai | Description |
|---|---|
|
Metode berhasil diselesaikan. |
|
Cache penyedia rusak. Ini menunjukkan perangkat lunak atau masalah komunikasi di dalam penyedia yang menyimpan informasi tentang perangkat yang terpasang. Pemanggil dapat menggunakan metode IVdsHwProvider::Reenumerate diikuti dengan metode IVdsHwProvider::Refresh untuk memulihkan cache. |
|
Volume tidak dapat disusutkan karena sistem file tidak mendukungnya. |
|
Operasi ini tidak didukung pada media yang dapat dilepas. |
|
Ukuran penyusutan yang ditentukan kurang dari ukuran penyusutan minimum yang diizinkan. |
|
Ukuran penyusutan yang ditentukan terlalu besar dan akan menyebabkan volume lebih kecil dari ukuran volume minimum. |
Komentar
Metode ini adalah pembungkus untuk metode IVdsVolumeShrink::Shrink . Jika Anda memanggil IVdsVolume::Shrink, nilai parameter uNumberOfBytesToRemove digunakan untuk parameter ullDesiredNumberOfReclaimableBytes dan ullMinNumberOfReclaimableBytes dari IVdsVolumeShrink::Shrink.
Menyusutkan dan memperluas operasi hanya didukung pada volume NTFS dan RAW.
Gunakan metode ini untuk menyusutkan sistem dan volume file. Jika VDS gagal menyusutkan volume, VDS akan menghentikan operasi tanpa menyusutkan sistem file.
Hanya satu operasi penyusutan atau defragmentasi yang dapat dilakukan pada satu waktu pada setiap volume. Windows Server 2008 dan Windows Vista: Hanya satu operasi penyusutan atau defragmentasi yang dapat dilakukan pada satu waktu di komputer.
Jika uNumberOfBytesToRemove adalah nol, metode gagal. Jika tidak, VDS membulatkan uNumberOfBytesToRemove ke kelipatan ukuran kluster sistem file.
Pelaksana harus mengembalikan penunjuk ke antarmuka IVdsAsync untuk metode ini, bahkan jika panggilan tidak memulai operasi asinkron.
Anda dapat menggunakan metode IVdsVolumeShrink::QueryMaxReclaimableBytes untuk memperkirakan jumlah byte yang akan direklamasi oleh operasi penyusutan. Namun, QueryMaxReclaimableBytes dapat mengembalikan lebih banyak byte daripada yang sebenarnya tersedia.
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
| Platform Target | Windows |
| Header | vds.h |
| Library | Uuid.lib |