Partager via


Méthode IVdsServiceUninstallDisk ::UninstallDisks (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.]

Désinstalle un ensemble de disques.

Syntaxe

HRESULT UninstallDisks(
  [in]  VDS_OBJECT_ID *pDiskIdArray,
  [in]  ULONG         ulCount,
  [in]  BOOLEAN       bForce,
  [out] BOOLEAN       *pbReboot,
  [out] HRESULT       *pResults
);

Paramètres

[in] pDiskIdArray

Adresse d’une mémoire tampon contenant un tableau d’ID d’objet VDS, un pour chaque disque à désinstaller. Chaque ID du tableau doit être unique.

[in] ulCount

Nombre d’ID d’objet VDS dans la mémoire tampon vers laquelle pointe le paramètre pDiskIdArray .

[in] bForce

Si la valeur est TRUE, VDS désinstalle les disques même si les volumes ne peuvent pas être verrouillés ou démontés.

[out] pbReboot

Adresse d’une variable BOOLEAN qui reçoit TRUE si l’utilisateur doit redémarrer l’ordinateur pour terminer le processus de désinstallation.

[out] pResults

Adresse d’un tableau de valeurs HRESULT allouées par l’appelant. Le nombre d’éléments dans le tableau est pointé vers le paramètre pDiskIdArray . Le premier élément de ce tableau correspond au premier élément du pDiskIdArray, et ainsi de suite. Si l’un des disques ne parvient pas à s’initialiser correctement, le code d’erreur spécifique de l’échec est retourné dans l’élément correspondant de ce tableau.

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
0
Les disques ont été correctement désinstallés.
S_FALSE
1
Cette méthode a retourné un code d’avertissement ou d’erreur pour un ou plusieurs disques.
VDS_S_UNABLE_TO_GET_GPT_ATTRIBUTES
0x0004245BL
Les disques ont été correctement désinstallés, mais les attributs de la table de partition GUID (GPT) n’ont pas pu être récupérés pour un ou plusieurs disques.
VDS_E_INTERNAL_ERROR
0x80042448L
VDS a rencontré une erreur interne. Consultez le journal des événements pour plus d'informations.
VDS_E_MISSING_DISK
0x80042454L
Un ou plusieurs disques étaient manquants.
VDS_E_NO_DISK_PATHNAME
0x8004270FL
Le chemin d’accès n’a pas pu être récupéré pour un ou plusieurs disques.
VDS_E_NO_VOLUME_PATHNAME
0x80042711L
Le chemin d’accès n’a pas pu être récupéré pour un ou plusieurs volumes.
VDS_E_OBJECT_DELETED
0x8004240BL
Un ou plusieurs des ID d’objet VDS spécifiés correspondent à des disques qui ne sont plus présents.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
Un ou plusieurs des ID d’objet VDS spécifiés correspondent à des disques qui n’existent pas.
VDS_E_PROVIDER_CACHE_OUTOFSYNC
0x80042712L
Le cache du fournisseur n’est pas synchronisé avec le cache des pilotes.

Remarques

VDS implémente cette méthode.

Cette méthode, synchrone, désinstalle d’abord les volumes sur les disques spécifiés, puis désinstalle les disques. Une fois les disques désinstallés, les LUN correspondantes peuvent être masquées (masquées) ou supprimées.

Cette méthode nettoie les lettres de lecteur qui ont été affectées aux volumes sur les disques. En outre, il définit les volumes hors connexion pour empêcher le montage d’un volume après la fermeture du handle de démontage, mais avant la suppression du disque.

Lorsque vous supprimez un volume dynamique qui s’étend sur plusieurs disques, vous devez appeler cette méthode au lieu d’utiliser des fonctions de gestionnaire de périphériques.

Pour obtenir des instructions sur la désinstallation d’un disque sur les versions de Windows Server 2003 où la méthode UninstallDisks n’est pas prise en charge, consultez la section Remarques de la méthode IVdsLun ::SetMask .

Configuration requise

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

Voir aussi

IVdsServiceUninstallDisk