Fungsi OpenVirtualDisk (virtdisk.h)
Membuka hard disk virtual (VHD) atau file gambar CD atau DVD (ISO) untuk digunakan.
Sintaks
DWORD OpenVirtualDisk(
[in] PVIRTUAL_STORAGE_TYPE VirtualStorageType,
[in] PCWSTR Path,
[in] VIRTUAL_DISK_ACCESS_MASK VirtualDiskAccessMask,
[in] OPEN_VIRTUAL_DISK_FLAG Flags,
[in, optional] POPEN_VIRTUAL_DISK_PARAMETERS Parameters,
[out] PHANDLE Handle
);
Parameter
[in] VirtualStorageType
Penunjuk ke struktur VIRTUAL_STORAGE_TYPE yang valid.
[in] Path
Penunjuk ke jalur yang valid ke gambar disk virtual untuk dibuka.
[in] VirtualDiskAccessMask
Nilai enumerasi VIRTUAL_DISK_ACCESS_MASK yang valid.
[in] Flags
Kombinasi nilai yang valid dari enumerasi OPEN_VIRTUAL_DISK_FLAG .
[in, optional] Parameters
Penunjuk opsional ke struktur OPEN_VIRTUAL_DISK_PARAMETERS yang valid. Bisa NULL.
[out] Handle
Penunjuk ke objek handel yang mewakili disk virtual terbuka.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah ERROR_SUCCESS (0) dan parameter Handel berisi penunjuk yang valid ke objek disk virtual baru.
Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan dan nilai parameter Handle tidak terdefinisi. Untuk informasi selengkapnya, lihat Kode Kesalahan Sistem.
Keterangan
Untuk mencegah kegagalan permintaan terbuka saat mencoba membuka handel ke disk virtual yang terpasang secara permanen, persyaratan berikut berlaku:
- Parameter VirtualDiskAccessMask harus menyertakan bendera VIRTUAL_DISK_ACCESS_DETACH (0x00040000).
- Akses tulis ke file tidak boleh diminta jika operasi buka asli yang membuat disk virtual yang terpasang secara permanen hanya meminta akses baca.
- Parameter VirtualStorageType adalah NULL.
- Parameter Jalur adalah NULL.
- Parameter VirtualDiskAccessMask diatur ke nilai
(VirtualDiskAccessMask & ~VIRTUAL_DISK_ACCESS_ALL)
. - Parameter Bendera diatur ke nilai
(Flags & ~(OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS | OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE))
. - Anggota versi parameter Parameter tidak diatur ke OPEN_VIRTUAL_DISK_VERSION_1 atau OPEN_VIRTUAL_DISK_VERSION_2.
Jalur yang ditujukkan oleh parameter Jalur tidak dapat berada di berbagi jaringan lokal (yang merupakan berbagi jaringan melalui loopback). Fungsi ini akan gagal dengan kesalahan ERROR_FILE_SYSTEM_LIMITATION (665) jika jalur berada di berbagi jaringan lokal. Fungsi ini akan gagal dengan kesalahan ERROR_FILE_CORRUPT (1392) jika disk virtual ISO sedang dibuka dan ukuran file bahkan bukan kelipatan 2 KB (2.048 byte), setidaknya 34 KB (34.816 byte), atau deskriptor struktur volume tidak berisi pengidentifikasi volume CDFS atau UDFS yang diketahui.
Ketika aplikasi selesai menggunakan handel objek yang dikembalikan dalam parameter Handle , gunakan fungsi CloseHandle untuk menutup handel.
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 |