Metodo IVdsVdProvider::CreateVDisk (vds.h)
[A partire da Windows 8 e Windows Server 2012, l'interfaccia COM del servizio disco virtuale viene sostituita dall'API gestione archiviazione di Windows.]
Crea un disco virtuale.
Sintassi
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
);
Parametri
[in] VirtualDeviceType
Puntatore a una struttura VIRTUAL_STORAGE_TYPE che specifica il tipo di disco virtuale da creare.
[in] pPath
Stringa di caratteri wide con terminazione NULL contenente il nome e il percorso della directory per il file di backup da creare per il disco virtuale.
[in] pStringSecurityDescriptor
Stringa di caratteri wide con terminazione NULL contenente il descrittore di sicurezza da applicare al disco virtuale. Se questo parametro è NULL, verrà usato il descrittore di sicurezza nel token di accesso del chiamante.
[in] Flags
Maschera di bit di CREATE_VIRTUAL_DISK_FLAG valori di enumerazione che specificano la modalità di creazione del disco virtuale.
[in] ProviderSpecificFlags
Maschera di bit di flag specifici del tipo di disco virtuale che viene creato. Questi flag sono specifici del provider. Per il provider di dischi virtuali Microsoft, questo parametro deve essere zero.
[in] Reserved
Il parametro è riservato e deve essere zero.
[in] pCreateDiskParameters
Puntatore a una struttura VDS_CREATE_VDISK_PARAMETERS che contiene i parametri di creazione del disco virtuale.
[out] ppAsync
Puntatore a un'interfaccia IVdsAsync che al completamento riceve l'interfaccia IVdsAsync per monitorare e controllare questa operazione. I chiamanti devono rilasciare l'interfaccia ricevuta al termine dell'operazione. Se il metodo IVdsAsync::Wait viene chiamato sull'interfaccia e viene restituito un valore HRESULT riuscito, le interfacce restituite nella struttura VDS_ASYNC_OUTPUT devono essere rilasciate chiamando il metodo IUnknown::Release su ogni puntatore di interfaccia. Tuttavia, se Wait restituisce un valore HRESULT non riuscito o se il parametro pHrResult di Wait riceve un valore HRESULT non riuscito, i puntatori di interfaccia nella struttura VDS_ASYNC_OUTPUT sono NULL e non devono essere rilasciati. È possibile verificare l'esito positivo o negativo dei valori HRESULT usando le macro SUCCEEDED e FAILED definite in Winerror.h.
Valore restituito
Questo metodo può restituire valori HRESULT standard, ad esempio E_INVALIDARG o E_OUTOFMEMORY e valori restituiti specifici di VDS. Può anche restituire codici di errore di sistema convertiti usando la macro HRESULT_FROM_WIN32 . Gli errori possono provenire dal VDS stesso o dal provider VDS sottostante in uso. I valori restituiti possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
Metodo completato correttamente. |
Commenti
Le applicazioni devono inizializzare la sicurezza a livello di processo chiamando la funzione CoInitializeSecurity . Il parametro dwImpLevel deve essere impostato su RPC_C_IMP_LEVEL_IMPERSONATE.
Windows Server 2008, Windows Vista e Windows Server 2003: Queste azioni non sono necessarie fino a Windows 7 e Windows Server 2008 R2.
Se il disco virtuale con il nome file specificato non esiste, viene creato. Se il disco virtuale esiste già, il provider di dischi virtuali restituisce un puntatore di interfaccia all'oggetto disco virtuale esistente senza creare nuovamente il file.
Requisiti
Client minimo supportato | Windows 7 [solo app desktop] |
Server minimo supportato | Windows Server 2008 R2 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | vds.h |
Libreria | Uuid.lib |