DetachVirtualDisk-Funktion (virtdisk.h)
Trennt eine virtuelle Festplatte (VHD) oder eine CD- oder DVD-Imagedatei (ISO), indem sie einen geeigneten anbieter für virtuelle Datenträger für die Ausführung des Vorgangs ausfindig machen.
Syntax
DWORD DetachVirtualDisk(
[in] HANDLE VirtualDiskHandle,
[in] DETACH_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags
);
Parameter
[in] VirtualDiskHandle
Ein Handle für einen geöffneten virtuellen Datenträger, der mit dem VIRTUAL_DISK_ACCESS_DETACH-Flag geöffnet worden sein muss, das im VirtualDiskAccessMask-Parameter auf die OpenVirtualDisk-Funktion festgelegt ist . Informationen zum Öffnen eines virtuellen Datenträgers finden Sie in der OpenVirtualDisk-Funktion .
[in] Flags
Eine gültige Kombination von Werten der DETACH_VIRTUAL_DISK_FLAG-Enumeration .
[in] ProviderSpecificFlags
Kennzeichnen, die für den Typ des getrennten virtuellen Datenträgers spezifisch sind. Kann null sein, wenn keine erforderlich ist.
Rückgabewert
Status der Anforderung.
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Fehlercode. Weitere Informationen finden Sie unter Systemfehlercodes.
Hinweise
Wenn die DetachVirtualDisk-Funktion mit dem Fehlercodewert ERROR_INVALID_PARAMETER fehlschlägt, kann die Ursache auf eine der folgenden Bedingungen zurückzuführen sein:
- Der VirtualDiskHandle-Parameter ist kein gültiges Handle, das von der OpenVirtualDisk-Funktion erstellt wurde.
- Der Flags-Parameter ist auf einen anderen Wert als DETACH_VIRTUAL_DISK_FLAG_NONE (0) festgelegt.
Alle anderen geöffneten Handles für den virtuellen Datenträger müssen geschlossen werden, bevor die Funktion DetachVirtualDisk erfolgreich ausgeführt werden kann.
Wenn der virtuelle Datenträger angefügt ist und ein anderes Handle, das zum Anfügen verwendet wurde, geschlossen wurde, liegt dies daran, dass das flag ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME angegeben wurde. In diesem Fall kann die DetachVirtualDisk-Funktion erfolgreich sein, aber die VHD bleibt angefügt. Wenn der ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME nicht angegeben wurde, wird der virtuelle Datenträger automatisch getrennt, wenn das letzte geöffnete Handle geschlossen wird.
Diese Funktion schlägt fehl, wenn ein Anbieter nicht gefunden werden kann, wenn die Imagedatei ungültig ist, wenn das Image nicht angefügt ist oder wenn der Aufrufer nicht über SE_MANAGE_VOLUME_PRIVILEGE Zugriffsrechte für ein Windows Server-Betriebssystem verfügt. Weitere Informationen zur Dateisicherheit finden Sie unter Dateisicherheit und Zugriffsrechte.
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 |