Partager via


Méthode IVdsVolume ::BreakPlex (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.]

Supprime un plex spécifié du volume actuel. Le pointeur d’interface pour le nouvel objet volume peut être récupéré en appelant IVdsAsync ::Wait via le paramètre ppAsync . La structure VDS_ASYNC_OUTPUT retournée contient le pointeur d’interface d’objet de volume dans le membre bvp.pVolumeUnk .

Syntaxe

HRESULT BreakPlex(
  [in]  VDS_OBJECT_ID plexId,
  [out] IVdsAsync     **ppAsync
);

Paramètres

[in] plexId

GUID du plex à briser.

[out] ppAsync

Adresse d’un pointeur d’interface IVdsAsync , que VDS initialise au retour. Les appelants doivent libérer l’interface. Utilisez ce pointeur pour annuler, attendre ou interroger le status de l’opération.

Si vous appelez IVdsAsync ::Wait sur cette méthode et qu’une valeur HRESULT de réussite est retournée, vous devez libérer les interfaces retournées dans la structure VDS_ASYNC_OUTPUT en appelant la méthode IUnknown ::Release sur chaque pointeur d’interface. Toutefois, si Wait retourne 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 la réussite ou l’échec des valeurs HRESULT à 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/valeur de retour Description
S_OK
Le plex a été cassé avec succès.
VDS_E_VOLUME_NOT_ONLINE
0x8004243DL
Le volume n’est pas disponible.
VDS_E_VOLUME_NOT_A_MIRROR
0x80042445L
Le volume n’est pas un miroir.

Remarques

Cette opération n’est pas valide pour les volumes de base, qui ont exactement un plex.

Utilisez cette méthode pour interrompre une miroir. Le plex cassé devient un nouveau volume. Si le plex restant est obsolète ou manquant, VDS arrête l’opération et retourne une erreur. Notez que VDS démonte le volume pendant l’opération.

Un plex de démarrage ou système (essentiellement, le plex utilisé pour démarrer l’ordinateur) n’est pas valide pour plexId. En cas de transmission d’un tel plex, VDS arrête l’opération et retourne une erreur.

Les implémenteurs doivent retourner un pointeur vers l’interface IVdsAsync pour cette méthode, que l’appel lance ou non une opération asynchrone.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête vds.h
Bibliothèque Uuid.lib

Voir aussi

IVdsAsync

IVdsAsync ::Wait

IVdsVolume

VDS_ASYNC_OUTPUT