Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |