IVdsVdProvider::CreateVDisk-Methode (vds.h)
[Ab Windows 8 und Windows Server 2012 wird die COM-Schnittstelle des Virtuellen Datenträgerdiensts von der Windows Storage Management-API abgelöst.]
Erstellt einen virtuellen Datenträger.
Syntax
HRESULT CreateVDisk(
[in] PVIRTUAL_STORAGE_TYPE VirtualDeviceType,
[in] LPWSTR pPath,
[in] LPWSTR pStringSecurityDescriptor,
[in] CREATE_VIRTUAL_DISK_FLAG Flags,
[in] ULONG ProviderSpecificFlags,
[in] ULONG Reserved,
[in] PVDS_CREATE_VDISK_PARAMETERS pCreateDiskParameters,
[out] IVdsAsync **ppAsync
);
Parameter
[in] VirtualDeviceType
Ein Zeiger auf eine VIRTUAL_STORAGE_TYPE-Struktur , die den Typ des zu erstellenden virtuellen Datenträgers angibt.
[in] pPath
Eine MIT NULL beendete Breitzeichenzeichenfolge, die den Namen und den Verzeichnispfad für die Sicherungsdatei enthält, die für den virtuellen Datenträger erstellt werden soll.
[in] pStringSecurityDescriptor
Eine MIT NULL beendete Breitzeichenzeichenfolge, die den Sicherheitsdeskriptor enthält, der auf den virtuellen Datenträger angewendet werden soll. Wenn dieser Parameter NULL ist, wird der Sicherheitsdeskriptor im Zugriffstoken des Aufrufers verwendet.
[in] Flags
Eine Bitmaske mit CREATE_VIRTUAL_DISK_FLAG Enumerationswerten, die angeben, wie der virtuelle Datenträger erstellt werden soll.
[in] ProviderSpecificFlags
Eine Bitmaske von Flags, die spezifisch für den Typ des virtuellen Datenträgers sind, der erstellt wird. Diese Flags sind anbieterspezifisch. Für den Anbieter virtueller Microsoft-Datenträger muss dieser Parameter 0 (null) sein.
[in] Reserved
Der Parameter ist reserviert und muss null sein.
[in] pCreateDiskParameters
Ein Zeiger auf eine VDS_CREATE_VDISK_PARAMETERS-Struktur , die die Parameter für die Erstellung virtueller Datenträger enthält.
[out] ppAsync
Ein Zeiger auf eine IVdsAsync-Schnittstelle , die nach erfolgreichem Abschluss die IVdsAsync-Schnittstelle empfängt, um diesen Vorgang zu überwachen und zu steuern. Aufrufer müssen die empfangene Schnittstelle freigeben, wenn sie damit fertig sind. Wenn die IVdsAsync::Wait-Methode für die Schnittstelle aufgerufen wird und ein erfolgreicher HRESULT-Wert zurückgegeben wird, müssen die in der VDS_ASYNC_OUTPUT-Struktur zurückgegebenen Schnittstellen durch Aufrufen der IUnknown::Release-Methode für jeden Schnittstellenzeiger freigegeben werden. Wenn Wait jedoch einen HRESULT-Fehlerwert zurückgibt oder der pHrResult-Parameter von Wait einen HRESULT-Fehlerwert empfängt, sind die Schnittstellenzeiger in der VDS_ASYNC_OUTPUT-StrukturNULL und müssen nicht freigegeben werden. Sie können HRESULT-Werte für Erfolg oder Fehler testen, indem Sie die in Winerror.h definierten Makros SUCCEEDED und FAILED verwenden.
Rückgabewert
Diese Methode kann HRESULT-Standardwerte wie E_INVALIDARG oder E_OUTOFMEMORY und VDS-spezifische Rückgabewerte zurückgeben. Es kann auch konvertierte Systemfehlercodes mithilfe des makros HRESULT_FROM_WIN32 zurückgeben. Fehler können vom VDS selbst oder vom zugrunde liegenden VDS-Anbieter stammen, der verwendet wird. Folgende Rückgabewerte sind möglich.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
Hinweise
Anwendungen müssen die prozessweite Sicherheit durch Aufrufen der CoInitializeSecurity-Funktion initialisieren. Der dwImpLevel-Parameter sollte auf RPC_C_IMP_LEVEL_IMPERSONATE festgelegt werden.
Windows Server 2008, Windows Vista und Windows Server 2003: Diese Aktionen sind erst unter Windows 7 und Windows Server 2008 R2 erforderlich.
Wenn der virtuelle Datenträger mit dem angegebenen Dateinamen nicht vorhanden ist, wird er erstellt. Wenn der virtuelle Datenträger bereits vorhanden ist, gibt der Anbieter des virtuellen Datenträgers einen Schnittstellenzeiger auf das vorhandene objekt des virtuellen Datenträgers zurück, ohne die Datei neu zu erstellen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | vds.h |
Bibliothek | Uuid.lib |