Freigeben über


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.

Wert Bedeutung
CREATE_VIRTUAL_DISK_FLAG_NONE
0x00000000
Es wurden keine Flags angegeben.
CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION
0x00000001
Weisen Sie den gesamten physischen Speicherplatz, der für die virtuelle Größe des virtuellen Datenträgers erforderlich ist, vorab zu. Dieses Flag ist nur für einen virtuellen Datenträger mit fester Größe gültig.

[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
S_OK
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

Weitere Informationen

IVdsVdProvider