Bagikan melalui


Metode IVdsOpenVDisk::Compact (vds.h)

[Dimulai dengan Windows 8 dan Windows Server 2012, antarmuka COM Layanan Disk Virtual digantikan oleh API Manajemen Penyimpanan Windows.]

Memampatkan disk virtual untuk mengurangi ukuran fisik file cadangan.

Sintaks

HRESULT Compact(
  [in]  COMPACT_VIRTUAL_DISK_FLAG Flags,
  [in]  ULONG                     Reserved,
  [out] IVdsAsync                 **ppAsync
);

Parameter

[in] Flags

Nilai enumerasi COMPACT_VIRTUAL_DISK_FLAG yang menentukan bagaimana disk virtual akan dikompresi. Harus diatur ke COMPACT_VIRTUAL_DISK_FLAG_NONE.

[in] Reserved

Parameter ini dicadangkan untuk penggunaan sistem.

[out] ppAsync

Penunjuk ke antarmuka IVdsAsync yang setelah berhasil diselesaikan menerima antarmuka IVdsAsync untuk memantau dan mengontrol operasi ini. Penelepon harus merilis antarmuka yang diterima ketika mereka telah selesai dengannya. Jika metode IVdsAsync::Wait dipanggil pada antarmuka dan nilai HRESULT yang 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 yang gagal, atau jika parameter pHrResultWait menerima nilai HRESULT yang gagal, penunjuk 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 yang mendasar yang sedang digunakan. Nilai yang mungkin dikembalikan termasuk yang berikut ini.

Menampilkan kode Deskripsi
S_OK
Metode berhasil diselesaikan.

Keterangan

Disk virtual hanya dapat dikompresi jika berada di salah satu status berikut:

  • Dilepas (mode offline)
  • Terlampir dan dibuka dengan akses baca-saja (mode online)
Jika berada dalam status lain, operasi ringkas gagal.

Disk virtual harus dapat diperluas (juga disebut dinamis) atau disk virtual yang berbeda.

Operasi dapat diinterupsi dengan aman dan dijalankan kembali nanti. Jika operasi terganggu dan file cadangan dibuka kembali, ukuran file dapat dikurangi saat file dibuka.

Operasi ini dapat intensif CPU atau intensif I/O, atau keduanya, tergantung pada seberapa besar disk virtual dan berapa banyak blok yang tidak digunakan yang memerlukan manipulasi.

Metode ini mengurangi ukuran file penyimpanan cadangan disk virtual dengan mengklaim kembali ruang yang tidak digunakan. Jika metode ini dipanggil untuk disk virtual yang dicopot, metode ini hanya dapat mengklaim kembali ruang dalam file yang tidak pernah digunakan untuk menulis data. Jika dipanggil untuk disk virtual yang dilampirkan dan dibuka dengan akses baca-saja, disk tersebut dapat mengklaim kembali ruang yang pernah digunakan, tetapi kemudian dikosongkan. Memanggil metode ini untuk disk virtual yang dilampirkan dan dibuka dengan akses baca-saja mengklaim kembali jumlah maksimum ruang kosong dalam file penyimpanan cadangan.

Persyaratan

Persyaratan Nilai
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
Pustaka Uuid.lib

Lihat juga

IVdsOpenVDisk