Partager via


IVdsOpenVDisk ::Merge, 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.]

Fusionne un disque virtuel enfant avec ses parents dans la chaîne de différenciation.

Syntaxe

HRESULT Merge(
  [in]  MERGE_VIRTUAL_DISK_FLAG Flags,
  [in]  ULONG                   MergeDepth,
  [out] IVdsAsync               **ppAsync
);

Paramètres

[in] Flags

Valeur d’énumération MERGE_VIRTUAL_DISK_FLAG qui spécifie la façon dont le disque virtuel doit être fusionné. Doit être défini sur MERGE_VIRTUAL_DISK_FLAG_NONE.

[in] MergeDepth

Nombre de disques parents dans la chaîne de différenciation à fusionner. Le disque doit avoir été ouvert avec un ReadWriteDepth au moins égal à cette valeur.

[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
S_OK
La commande s'est correctement terminée.

Notes

Un disque virtuel ne peut être fusionné que s’il est détaché.

Cette méthode déplace tous les blocs de données du disque enfant vers le parent. Toutefois, il ne supprime pas les disques enfants invalidés à la fin de l’opération.

Le disque virtuel doit avoir été ouvert avec un accès en lecture/écriture.

Configuration requise

Condition requise Valeur
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

Voir aussi

IVdsOpenVDisk