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.
Membuat file gambar hard disk virtual (VHD), baik menggunakan parameter default atau menggunakan disk virtual atau disk fisik yang ada.
Sintaks
DWORD CreateVirtualDisk(
[in] PVIRTUAL_STORAGE_TYPE VirtualStorageType,
[in] PCWSTR Path,
[in] VIRTUAL_DISK_ACCESS_MASK VirtualDiskAccessMask,
[in, optional] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] CREATE_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in] PCREATE_VIRTUAL_DISK_PARAMETERS Parameters,
[in, optional] LPOVERLAPPED Overlapped,
[out] PHANDLE Handle
);
Parameter
[in] VirtualStorageType
Penunjuk ke struktur VIRTUAL_STORAGE_TYPE yang berisi jenis disk dan informasi vendor yang diinginkan.
[in] Path
Penunjuk ke string valid yang mewakili jalur ke file gambar disk virtual baru.
[in] VirtualDiskAccessMask
Nilai VIRTUAL_DISK_ACCESS_MASK untuk digunakan saat membuka file disk virtual yang baru dibuat. Jika anggota Versi parameter Parameter diatur ke CREATE_VIRTUAL_DISK_VERSION_2 maka hanya nilai VIRTUAL_DISK_ACCESS_NONE (0) yang dapat ditentukan.
[in, optional] SecurityDescriptor
Penunjuk opsional ke SECURITY_DESCRIPTOR untuk diterapkan ke file gambar disk virtual. Jika parameter ini NULL, deskriptor keamanan direktori induk akan digunakan.
[in] Flags
Bendera pembuatan, yang harus merupakan kombinasi enumerasi CREATE_VIRTUAL_DISK_FLAG yang valid.
[in] ProviderSpecificFlags
Bendera khusus untuk jenis disk virtual yang sedang dibuat. Mungkin nol jika tidak ada yang diperlukan.
[in] Parameters
Penunjuk ke struktur CREATE_VIRTUAL_DISK_PARAMETERS valid yang berisi data parameter pembuatan.
[in, optional] Overlapped
Penunjuk opsional ke struktur TUMPANG TINDIH yang valid jika operasi asinkron diinginkan.
[out] Handle
Penunjuk ke objek handel yang mewakili disk virtual yang baru dibuat.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan ERROR_SUCCESS dan parameter Handle berisi pointer 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
Jika fungsi CreateVirtualDisk gagal dengan nilai kode kesalahan ERROR_INVALID_PARAMETER, penyebabnya mungkin karena salah satu kondisi berikut:
- Parameter VirtualStorageType adalah NULL.
- Parameter Parameter adalah NULL.
- Anggota versi parameter Parameter tidak diatur ke CREATE_VIRTUAL_DISK_VERSION_1 atau CREATE_VIRTUAL_DISK_VERSION_2.
- Anggota versi parameter Parameter diatur ke CREATE_VIRTUAL_DISK_VERSION_2 tetapi parameter VirtualDiskAccessMask tidak diatur ke VIRTUAL_DISK_ACCESS_NONE.
- Anggota BlockSizeInBytes dari parameter Parameter tidak diatur ke CREATE_VIRTUAL_DISK_PARAMETERS_DEFAULT_BLOCK_SIZE (0), 0x80000 (512 KB), atau 0x200000 (2 MB).
- Anggota MaximumSize dari parameter Parameter kurang dari 3 MB.
- Anggota MaximumSize dari parameter Parameter tidak selaras dengan nilai anggota SectorSizeInBytes .
- Parameter VirtualDiskAccessMask diatur ke nilai
(VirtualDiskAccessMask & ~VIRTUAL_DISK_ACCESS_ALL). - Parameter Bendera lebih besar dari CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION.
Saat membuat berbagai jenis disk virtual, kombinasi parameter pembuatan berikut direkomendasikan:
- Bendera CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION harus ditentukan.
- ParentPath tidak boleh ditentukan.
- SourcePath dapat ditentukan jika diinginkan.
- Bendera CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION tidak boleh ditentukan.
- ParentPath tidak boleh ditentukan.
- SourcePath dapat ditentukan jika diinginkan.
- Bendera CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION tidak boleh ditentukan.
- ParentPath harus ditentukan.
- SourcePath tidak boleh ditentukan.
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 |