Partager via


IVdsLun::D elete, 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 le numéro d’unité logique et tous ses plexes. Toutes les données sur le numéro d’unité logique sont perdues. VDS libère les extensions allouées au LUN.

Syntaxe

HRESULT Delete();

Valeur de retour

Cette méthode peut retourner des valeurs HRESULT standard, telles que 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.

Remarques

Si une application contient une référence à l’interface IVdsLun et appelle IVdsLun::D elete, les implémenteurs doivent retourner VDS_E_OBJECT_DELETED lors des appels suivants à des méthodes telles que GetProperties sur cette interface. Dans ce cas, l’interface a une référence en suspens et est valide, mais l’objet sous-jacent n’existe plus.

Si un numéro d’unité logique non masqué sur un ordinateur cible est supprimé, la visibilité du numéro d’unité logique sur cet ordinateur ne peut pas changer tant qu’une nouvelle analyse de bus n’est pas effectuée. L’application VDS sur l’ordinateur cible lance la nouvelle analyse du bus en appelant IVdsService::Reenumerate. Le lancement de la nouvelle analyse du bus est de la responsabilité de l’application VDS, et non du fournisseur de matériel.

Si une méthode telle que IVdsLun::D elete est appelée dans un thread tandis que IVdsSubSystem::QueryLuns est appelée dans un autre thread qui s’exécute simultanément, le résultat peut être une violation d’accès du fournisseur. Le fournisseur de matériel est chargé de sérialiser ces méthodes en fonction des besoins pour réduire ces problèmes de synchronisation.

Le fournisseur de matériel est chargé de supprimer les informations de partition du numéro d’unité logique afin que le numéro d’unité logique puisse être réutilisé. Si le numéro d’unité logique est un disque MBR, cela s’effectue en écrivant des zéros sur le premier et le dernier Mo du disque. Pour un disque GPT, les zéros doivent être écrits sur le premier et le dernier 16 Ko du disque.

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

IVdsHwProvider::Réumerate

IVdsHwProvider::Refresh

IVdsLun

IVdsLun::GetProperties