Bagikan melalui


Fungsi DetachVirtualDisk (virtdisk.h)

Mencopot hard disk virtual (VHD) atau file gambar CD atau DVD (ISO) dengan menemukan penyedia disk virtual yang sesuai untuk menyelesaikan operasi.

Sintaks

DWORD DetachVirtualDisk(
  [in] HANDLE                   VirtualDiskHandle,
  [in] DETACH_VIRTUAL_DISK_FLAG Flags,
  [in] ULONG                    ProviderSpecificFlags
);

Parameter

[in] VirtualDiskHandle

Handel ke disk virtual terbuka, yang harus dibuka menggunakan bendera VIRTUAL_DISK_ACCESS_DETACH yang diatur dalam parameter VirtualDiskAccessMask ke fungsi OpenVirtualDisk . Untuk informasi tentang cara membuka disk virtual, lihat fungsi OpenVirtualDisk .

[in] Flags

Kombinasi nilai yang valid dari enumerasi DETACH_VIRTUAL_DISK_FLAG .

[in] ProviderSpecificFlags

Bendera khusus untuk jenis disk virtual yang dicopot. Mungkin nol jika tidak ada yang diperlukan.

Nilai kembali

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

Jika fungsi DetachVirtualDisk gagal dengan nilai kode kesalahan ERROR_INVALID_PARAMETER, penyebabnya mungkin karena salah satu kondisi berikut:

  • Parameter VirtualDiskHandle bukan handel valid yang dibuat oleh fungsi OpenVirtualDisk .
  • Parameter Bendera diatur ke nilai selain DETACH_VIRTUAL_DISK_FLAG_NONE (0).
Volume host yang berisi file gambar disk virtual tidak dapat dikompresi atau dienkripsi EFS.

Semua handel terbuka lainnya ke disk virtual harus ditutup sebelum fungsi DetachVirtualDisk dapat berhasil.

Jika disk virtual terpasang dan handel lain yang digunakan untuk melampirkannya telah ditutup, ini karena bendera ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME ditentukan. Dalam hal ini, fungsi DetachVirtualDisk dapat berhasil tetapi VHD akan tetap terpasang. Jika ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME tidak ditentukan, disk virtual akan secara otomatis dilepas ketika handel terbuka terakhir ditutup.

Fungsi ini akan gagal jika penyedia tidak dapat ditemukan, jika file gambar tidak valid, jika gambar tidak terlampir, atau jika pemanggil tidak memiliki hak akses SE_MANAGE_VOLUME_PRIVILEGE pada sistem operasi Windows Server. Untuk informasi selengkapnya tentang keamanan file, lihat Keamanan File dan Hak Akses.

File gambar CD dan DVD (ISO) tidak didukung sebelum Windows 8 dan Windows Server 2012.

Persyaratan

Persyaratan Nilai
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

Lihat juga

Tentang VHD

Referensi VHD