Partager via


IVdsLun::RemovePlex, 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.]

Supprime un plex d’un numéro d’unité logique.

Syntaxe

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

Paramètres

[in] plexId

GUID du plex lun à supprimer.

[out] ppAsync

Adresse d’un pointeur d’interface IVdsAsync , que VDS initialise au retour. Les appelants doivent libérer l’interface. Utilisez cette interface pour annuler, attendre ou interroger l’état 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 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/valeur de retour Description
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
Cette valeur de retour signale un problème logiciel ou de communication à l’intérieur d’un fournisseur qui met en cache des informations sur le tableau. Utilisez la méthode IVdsHwProvider::Reenumerate suivie de la méthode IVdsHwProvider::Refresh pour restaurer le cache.
VDS_E_OBJECT_DELETED
0x8004240BL
L’objet LUN n’est plus présent.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Le numéro d’unité logique est en état d’échec et ne peut pas effectuer l’opération demandée.
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
Une autre opération est en cours ; cette opération ne peut pas continuer tant que l’opération ou les opérations précédentes ne sont pas terminées.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Peut être retourné à partir de n’importe quelle méthode qui prend une constante VDS_OBJECT_ID . Cette valeur de retour indique que l’identificateur ne fait pas référence à un objet existant.

Remarques

Le plex supprimé cesse d’exister et VDS libère les extensions. Un appelant ne peut pas supprimer un plex de LUN autonome. Notez qu’un numéro d’unité logique peut perdre sa tolérance de panne en raison de cette opération. Par exemple, si l’opération transforme le numéro d’unité logique de mise en miroir en simple, il n’est plus tolérant aux pannes.

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.

Si un appelant appelle la méthode RemovePlex avec le paramètre plexId défini sur une valeur non valide, vous devez retourner VDS_E_OBJECT_NOT_FOUND.

Configuration requise

   
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

IVdsHwProvider::Réumerate

IVdsHwProvider::Refresh

IVdsLun

VDS_ASYNC_OUTPUT