CreateVirtualDisk-Funktion (virtdisk.h)
Erstellt eine VHD-Imagedatei (Virtual Hard Disk) mit Standardparametern oder unter Verwendung eines vorhandenen virtuellen Datenträgers oder physischen Datenträgers.
Syntax
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
Ein Zeiger auf eine VIRTUAL_STORAGE_TYPE Struktur, die den gewünschten Datenträgertyp und die Gewünschten Anbieterinformationen enthält.
[in] Path
Ein Zeiger auf eine gültige Zeichenfolge, die den Pfad zur neuen Imagedatei des virtuellen Datenträgers darstellt.
[in] VirtualDiskAccessMask
Der VIRTUAL_DISK_ACCESS_MASK Wert, der beim Öffnen der neu erstellten virtuellen Datenträgerdatei verwendet werden soll. Wenn der Version-Member des Parameters-Parameters auf CREATE_VIRTUAL_DISK_VERSION_2 festgelegt ist, kann nur der wert VIRTUAL_DISK_ACCESS_NONE (0) angegeben werden.
[in, optional] SecurityDescriptor
Ein optionaler Zeiger auf einen SECURITY_DESCRIPTOR , der auf die Imagedatei des virtuellen Datenträgers angewendet werden soll. Wenn dieser Parameter NULL ist, wird der Sicherheitsdeskriptor des übergeordneten Verzeichnisses verwendet.
[in] Flags
Erstellungsflags, die eine gültige Kombination der CREATE_VIRTUAL_DISK_FLAG-Enumeration sein müssen.
[in] ProviderSpecificFlags
Flags spezifisch für den Typ des virtuellen Datenträgers, der erstellt wird. Kann null sein, wenn keine erforderlich ist.
[in] Parameters
Ein Zeiger auf eine gültige CREATE_VIRTUAL_DISK_PARAMETERS-Struktur , die Erstellungsparameterdaten enthält.
[in, optional] Overlapped
Ein optionaler Zeiger auf eine gültige OVERLAPPED-Struktur , wenn ein asynchroner Vorgang gewünscht wird.
[out] Handle
Ein Zeiger auf das Handle-Objekt, das den neu erstellten virtuellen Datenträger darstellt.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS , und der Handle-Parameter enthält einen gültigen Zeiger auf das neue virtuelle Datenträgerobjekt.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Fehlercode, und der Wert des Handle-Parameters ist undefiniert. Weitere Informationen finden Sie unter Systemfehlercodes.
Hinweise
Wenn die CreateVirtualDisk-Funktion mit dem Fehlercodewert ERROR_INVALID_PARAMETER fehlschlägt, kann die Ursache auf eine der folgenden Bedingungen zurückzuführen sein:
- Der VirtualStorageType-Parameter ist NULL.
- Der Parameter Parameters ist NULL.
- Der Version-Member des Parameters-Parameters ist nicht auf CREATE_VIRTUAL_DISK_VERSION_1 oder CREATE_VIRTUAL_DISK_VERSION_2 festgelegt.
- Der Version-Member des Parameters-Parameters ist auf CREATE_VIRTUAL_DISK_VERSION_2 festgelegt, aber der Parameter VirtualDiskAccessMask ist nicht auf VIRTUAL_DISK_ACCESS_NONE festgelegt.
- Der BlockSizeInBytes-Member des Parameters-Parameters ist nicht auf CREATE_VIRTUAL_DISK_PARAMETERS_DEFAULT_BLOCK_SIZE (0), 0x80000 (512 KB) oder 0x200000 (2 MB) festgelegt.
- Der MaximumSize-Member des Parameters-Parameters ist kleiner als 3 MB.
- Das MaximumSize-Element des Parameters-Parameters ist nicht mit dem Wert des SectorSizeInBytes-Elements ausgerichtet.
- Der VirtualDiskAccessMask-Parameter ist auf den Wert festgelegt
(VirtualDiskAccessMask & ~VIRTUAL_DISK_ACCESS_ALL)
. - Der Flags-Parameter ist größer als CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION.
Beim Erstellen der verschiedenen Typen von virtuellen Datenträgern werden die folgenden Kombinationen von Erstellungsparametern empfohlen:
- Das flag CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION sollte angegeben werden.
- ParentPath sollte nicht angegeben werden.
- SourcePath kann bei Bedarf angegeben werden.
- Das CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION-Flag sollte nicht angegeben werden.
- ParentPath sollte nicht angegeben werden.
- SourcePath kann bei Bedarf angegeben werden.
- Das CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION-Flag sollte nicht angegeben werden.
- ParentPath sollte angegeben werden.
- SourcePath sollte nicht angegeben werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 |
Zielplattform | Windows |
Kopfzeile | virtdisk.h |
Bibliothek | VirtDisk.lib |
DLL | VirtDisk.dll |