IVdsVdProvider::CreateVDisk, méthode (vds.h)
[À compter de Windows 8 et Windows Server 2012, l’interface COM du service de disque virtuel est remplacée par l’API gestion du stockage Windows.]
Crée un disque virtuel.
Syntaxe
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
);
Paramètres
[in] VirtualDeviceType
Pointeur vers une structure VIRTUAL_STORAGE_TYPE qui spécifie le type de disque virtuel à créer.
[in] pPath
Chaîne de caractères larges terminée par NULL contenant le nom et le chemin du répertoire pour le fichier de stockage à créer pour le disque virtuel.
[in] pStringSecurityDescriptor
Chaîne de caractères larges terminée par null contenant le descripteur de sécurité à appliquer au disque virtuel. Si ce paramètre a la valeur NULL, le descripteur de sécurité dans le jeton d’accès de l’appelant est utilisé.
[in] Flags
Masque de bits de CREATE_VIRTUAL_DISK_FLAG valeurs d’énumération spécifiant la façon dont le disque virtuel doit être créé.
[in] ProviderSpecificFlags
Masque de bits d’indicateurs spécifiques au type de disque virtuel en cours de création. Ces indicateurs sont spécifiques au fournisseur. Pour le fournisseur de disques virtuels Microsoft, ce paramètre doit être égal à zéro.
[in] Reserved
Le paramètre est réservé et doit être égal à zéro.
[in] pCreateDiskParameters
Pointeur vers une structure de VDS_CREATE_VDISK_PARAMETERS qui contient les paramètres de création de disque virtuel.
[out] ppAsync
Pointeur vers une interface IVdsAsync qui, une fois l’exécution réussie, reçoit l’interface IVdsAsync pour surveiller et contrôler cette opération. Les appelants doivent libérer l’interface reçue lorsqu’ils en ont terminé. Si la méthode IVdsAsync::Wait est appelée sur l’interface et qu’une valeur HRESULT de réussite est retournée, les interfaces retournées dans la structure VDS_ASYNC_OUTPUT doivent être libérées en appelant la méthode IUnknown::Release sur chaque pointeur d’interface. Toutefois, si Wait renvoie une valeur HRESULT d’échec, ou si le paramètre pHrResult de Wait reçoit une valeur HRESULT d’échec, les pointeurs d’interface dans la structure VDS_ASYNC_OUTPUT sont NULL et n’ont pas besoin d’être libérés. Vous pouvez tester les valeurs HRESULT de réussite ou d’échec à l’aide des macros SUCCEEDED et FAILED définies dans Winerror.h.
Valeur retournée
Cette méthode peut retourner des valeurs HRESULT standard, telles que E_INVALIDARG ou E_OUTOFMEMORY, et des valeurs de retour spécifiques à VDS. Il peut également retourner des codes d’erreur système convertis à l’aide de la macro HRESULT_FROM_WIN32 . Les erreurs peuvent provenir de VDS lui-même ou du fournisseur VDS sous-jacent utilisé. Les valeurs de retour possibles sont les suivantes.
Code de retour | Description |
---|---|
|
La commande s'est correctement terminée. |
Notes
Les applications doivent initialiser la sécurité à l’échelle du processus en appelant la fonction CoInitializeSecurity . Le paramètre dwImpLevel doit être défini sur RPC_C_IMP_LEVEL_IMPERSONATE.
Windows Server 2008, Windows Vista et Windows Server 2003 : Ces actions ne sont pas requises avant Windows 7 et Windows Server 2008 R2.
Si le disque virtuel portant le nom de fichier spécifié n’existe pas, il est créé. Si le disque virtuel existe déjà, le fournisseur de disque virtuel retourne un pointeur d’interface vers l’objet de disque virtuel existant sans recréer le fichier.
Configuration requise
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | vds.h |
Bibliothèque | Uuid.lib |