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 0x020ist.
  • Der Version-Member des Parameters-Parameters ist nicht auf ATTACH_VIRTUAL_DISK_VERSION_1 festgelegt.
Das Hostvolume, das die Imagedatei des virtuellen Datenträgers enthält, kann nicht komprimiert oder EFS verschlüsselt werden.

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

Weitere Informationen

Informationen zu VHD

VHD-Referenz