AttachVirtualDisk-Funktion (virtdisk.h)
Fügt eine virtuelle Festplatte (VHD) oder EINE CD- oder DVD-Imagedatei (ISO) an, indem ein geeigneter VHD-Anbieter für die Anlage ausfindig wird.
Syntax
DWORD AttachVirtualDisk(
[in] HANDLE VirtualDiskHandle,
[in, optional] PSECURITY_DESCRIPTOR SecurityDescriptor,
[in] ATTACH_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in, optional] PATTACH_VIRTUAL_DISK_PARAMETERS Parameters,
[in, optional] LPOVERLAPPED Overlapped
);
Parameter
[in] VirtualDiskHandle
Ein Handle für einen geöffneten virtuellen Datenträger. Informationen zum Öffnen eines virtuellen Datenträgers finden Sie in der OpenVirtualDisk-Funktion .
[in, optional] SecurityDescriptor
Ein optionaler Zeiger auf eine SECURITY_DESCRIPTOR , die auf den angefügten virtuellen Datenträger angewendet werden soll. Wenn dieser Parameter NULL ist, wird der Sicherheitsdeskriptor der Imagedatei des virtuellen Datenträgers verwendet.
Stellen Sie sicher, dass der Sicherheitsdeskriptor, den AttachVirtualDisk auf den angefügten virtuellen Datenträger anwendet, dem Benutzer die Schreibattribute-Berechtigung gewährt, oder dass der Sicherheitsdeskriptor der Imagedatei des virtuellen Datenträgers dem Benutzer die Schreibattribute-Berechtigung gewährt, wenn Sie NULL für diesen Parameter angeben. Wenn der Sicherheitsdeskriptor einem Benutzer keine Berechtigung zum Schreiben von Attributen erteilt, zeigt shell den folgenden Fehler an, wenn der Benutzer auf den angefügten virtuellen Datenträger zugreift: Der Papierkorb ist beschädigt. Möchten Sie den Papierkorb für dieses Laufwerk leeren?
[in] Flags
Eine gültige Kombination von Werten der ATTACH_VIRTUAL_DISK_FLAG-Enumeration .
[in] ProviderSpecificFlags
Flags, die für den Typ des angefügten virtuellen Datenträgers spezifisch sind. Kann null sein, wenn keine erforderlich ist.
[in, optional] Parameters
Ein Zeiger auf eine gültige ATTACH_VIRTUAL_DISK_PARAMETERS-Struktur , die Anlagenparameterdaten enthält.
[in, optional] Overlapped
Ein optionaler Zeiger auf eine gültige OVERLAPPED-Struktur , wenn ein asynchroner Vorgang gewünscht wird.
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
Die AttachVirtualDisk-Funktion wird nicht für VHDs oder ISOs unterstützt, die auf SD-Medien (Secure Digital) gehostet werden, die im einheitlichen Modus an einen SD-Controller angeschlossen sind (für den sffdisk.sys, sffp_sd.sys und sdbus.sys Treiber geladen würden) und schlägt mit dem Fehler ERROR_FILE_NOT_FOUND fehl. VHDs und ISOs, die auf SD-Medien gehostet werden, die mit einem USB-Reader verbunden sind, werden unterstützt.
Wenn die AttachVirtualDisk-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 Wert festgelegt, der größer als
0x020
ist. - Der Version-Member des Parameters-Parameters ist nicht auf ATTACH_VIRTUAL_DISK_VERSION_1 festgelegt.
Diese Funktion schlägt fehl, wenn ein Anbieter nicht gefunden werden kann, wenn die VHD- oder ISO-Imagedatei ungültig ist, das VHD-Image bereits angefügt ist oder wenn der Aufrufer nicht über SE_MANAGE_VOLUME_PRIVILEGE Zugriffsrechte verfügt. Weitere Informationen zur Dateisicherheit finden Sie unter Dateisicherheit und Zugriffsrechte.
Der beabsichtigte Zugriffsmodus des virtuellen Datenträgers muss beim Öffnen des Handles für virtuelle Datenträger berücksichtigt werden. Wenn der virtuelle Datenträger beispielsweise für Lese-/Schreibzugriff angefügt wird, muss der VirtualDiskHandle-Parameter mit dem VIRTUAL_DISK_ACCESS_ATTACH_RW-Zugriffsflag geöffnet worden sein. Weitere Informationen finden Sie unter VIRTUAL_DISK_ACCESS_MASK und OpenVirtualDisk.
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 |