OpenVirtualDisk-Funktion (virtdisk.h)
Öffnet eine virtuelle Festplatte (VHD) oder CD- oder DVD-Imagedatei (ISO) zur Verwendung.
Syntax
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
Ein Zeiger auf eine gültige VIRTUAL_STORAGE_TYPE-Struktur .
[in] Path
Ein Zeiger auf einen gültigen Pfad zum zu öffnenden Image des virtuellen Datenträgers.
[in] VirtualDiskAccessMask
Ein gültiger Wert der VIRTUAL_DISK_ACCESS_MASK-Enumeration .
[in] Flags
Eine gültige Kombination von Werten der OPEN_VIRTUAL_DISK_FLAG-Enumeration .
[in, optional] Parameters
Ein optionaler Zeiger auf eine gültige OPEN_VIRTUAL_DISK_PARAMETERS-Struktur . Kann NULL sein.
[out] Handle
Ein Zeiger auf das Handle-Objekt, das den geöffneten virtuellen Datenträger darstellt.
Rückgabewert
Wenn die Funktion erfolgreich ist, lautet der Rückgabewert ERROR_SUCCESS (0), und der Handle-Parameter enthält einen gültigen Zeiger auf das neue objekt des virtuellen Datenträgers.
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
Um einen Fehler bei einer offenen Anforderung beim Versuch zu verhindern, ein Handle für einen dauerhaft angefügten virtuellen Datenträger zu öffnen, gelten die folgenden Anforderungen:
- Der VirtualDiskAccessMask-Parameter muss das flag VIRTUAL_DISK_ACCESS_DETACH (0x00040000) enthalten.
- Schreibzugriff auf die Datei darf nicht angefordert werden, wenn der ursprüngliche Öffnungsvorgang, der den dauerhaft angefügten virtuellen Datenträger erstellt hat, nur Lesezugriff angefordert hat.
- Der VirtualStorageType-Parameter ist NULL.
- Der Path-Parameter ist NULL.
- Der VirtualDiskAccessMask-Parameter ist auf den Wert festgelegt
(VirtualDiskAccessMask & ~VIRTUAL_DISK_ACCESS_ALL)
. - Der Flags-Parameter wird auf den Wert festgelegt
(Flags & ~(OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS | OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE))
. - Der Version-Member des Parameters-Parameters ist nicht auf OPEN_VIRTUAL_DISK_VERSION_1 oder OPEN_VIRTUAL_DISK_VERSION_2 festgelegt.
Der Pfad, auf den der Path-Parameter verweist, darf sich nicht auf einer lokalen Netzwerkfreigabe befinden (das ist eine Netzwerkfreigabe per Loopback). Diese Funktion schlägt mit dem Fehler ERROR_FILE_SYSTEM_LIMITATION (665) fehl, wenn sich der Pfad auf einer lokalen Netzwerkfreigabe befindet. Diese Funktion schlägt mit dem Fehler ERROR_FILE_CORRUPT (1392) fehl, wenn ein virtueller ISO-Datenträger geöffnet wird und die Dateigröße kein gerades Vielfaches von 2 KB (2.048 Byte), mindestens 34 KB (34.816 Bytes) beträgt oder der Volumestrukturdeskriptor keinen bekannten CDFS- oder UDFS-Volumebezeichner enthält.
Wenn eine Anwendung das im Handle-Parameter zurückgegebene Objekthandle verwendet hat, verwenden Sie die CloseHandle-Funktion , um das Handle zu schließen.
CD- und DVD-Imagedateien (ISO) werden vor Windows 8 und Windows Server 2012 nicht unterstützt.
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 |