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.
Menggabungkan hard disk virtual anak (VHD) dalam rantai yang berbeda dengan satu atau beberapa disk virtual induk dalam rantai.
Sintaks
DWORD MergeVirtualDisk(
[in] HANDLE VirtualDiskHandle,
[in] MERGE_VIRTUAL_DISK_FLAG Flags,
[in] PMERGE_VIRTUAL_DISK_PARAMETERS Parameters,
[in, optional] LPOVERLAPPED Overlapped
);
Parameter
[in] VirtualDiskHandle
Handel ke disk virtual terbuka, yang harus dibuka menggunakan bendera VIRTUAL_DISK_ACCESS_METAOPS . Untuk informasi tentang cara membuka disk virtual, lihat fungsi OpenVirtualDisk .
[in] Flags
Harus berupa nilai MERGE_VIRTUAL_DISK_FLAG_NONE dari enumerasi MERGE_VIRTUAL_DISK_FLAG .
[in] Parameters
Penunjuk ke struktur MERGE_VIRTUAL_DISK_PARAMETERS yang valid yang berisi data parameter gabungan.
[in, optional] Overlapped
Penunjuk opsional ke struktur TUMPANG TINDIH yang valid jika operasi asinkron diinginkan.
Menampilkan nilai
Status permintaan.
Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS.
Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan. Untuk informasi selengkapnya, lihat Kode Kesalahan Sistem.
Keterangan
Menggabungkan disk mengharuskan disk yang terpengaruh dicopot selama operasi.
Pemanggil harus memiliki READ|AKSES TULIS ke penyimpanan backing untuk disk yang terpengaruh.
RWDepth disk harus lebih besar dari kedalaman penggabungan yang ditentukan oleh OPEN_VIRTUAL_DISK_PARAMETERS.
Penggabungan memodifikasi disk induk yang digabungkan, oleh karena itu disk lain yang berbeda tergantung pada induk tersebut tidak akan valid lagi.
Disk induk yang digabungkan diubah untuk mewakili data yang sama seperti yang ditahan di disk yang membedakan anak tempat penggabungan dilakukan.
Setiap data yang sudah ada sebelumnya dalam disk induk yang digabungkan akan ditimpa.
Jika operasi penggabungan terganggu, disk anak masih dapat digunakan. Fungsi MergeVirtualDisk dapat dijalankan ulang untuk menyelesaikan penggabungan.
Kedalaman permintaan penggabungan adalah jumlah file gambar VHD induk dalam rantai yang berbeda untuk digabungkan. Misalnya, jika anggota MergeDepth memiliki nilai 1, blok data dari disk perbedaan yang ditentukan dipindahkan ke induknya. Jika anggota MergeDepth memiliki nilai 2 dan induk disk yang berbeda yang ditentukan juga merupakan disk yang berbeda (artinya ada disk ketiga dalam rantai), maka blok data dari disk pertama dan kedua dipindahkan ke disk ketiga (dengan blok dari disk pertama yang lebih diutamakan daripada blok dari yang kedua selama operasi akhir).
Setelah selesai, disk anak yang terpengaruh tidak lagi dianggap valid, dan operasi di masa mendatang akan memiliki hasil yang tidak didukung. Dalam contoh sebelumnya, setelah berhasil menyelesaikan penggabungan, disk ketiga valid dan yang pertama dan kedua tidak. Fungsi MergeVirtualDisk tidak akan menghapus disk apa pun yang tidak valid, atau melakukan koneksi ulang hubungan perbedaan otomatis. Ini harus dilakukan secara eksplisit oleh pemanggil.
Jika operasi penggabungan dilakukan pada simpul nonleaf dari disk yang berbeda, pemanggil bertanggung jawab untuk memperbaiki informasi induk untuk simpul anak dari disk yang sedang digabungkan.
Persyaratan
| Klien minimum yang didukung | Windows 7 |
| Server minimum yang didukung | Windows Server 2008 R2 |
| Target Platform | Windows |
| Header | virtdisk.h |
| Pustaka | VirtDisk.lib |
| DLL | VirtDisk.dll |