Méthode IVdsPack::MigrateDisks (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.]
Migre un ensemble de disques d’un pack vers un autre.
Syntaxe
HRESULT MigrateDisks(
[in] VDS_OBJECT_ID *pDiskArray,
[in] LONG lNumberOfDisks,
[in] VDS_OBJECT_ID TargetPack,
[in] BOOL bForce,
[in] BOOL bQueryOnly,
[out] HRESULT *pResults,
[out] BOOL *pbRebootNeeded
);
Paramètres
[in] pDiskArray
Pointeur vers un tableau de GUID ; un pour chaque disque.
[in] lNumberOfDisks
Nombre de disques à migrer.
[in] TargetPack
GUID de l’objet pack.
[in] bForce
Si ce paramètre a la valeur TRUE, VDS ignore toutes les erreurs de cette méthode et tente de migrer les disques de manière inconditionnelle. Si elle est définie sur FALSE, l’opération ne se poursuit pas. Dans certains cas, une migration forcée peut entraîner une perte de données.
[in] bQueryOnly
Si ce paramètre a la valeur TRUE, la migration n’a pas lieu. Si elle est définie sur FALSE, l’opération continue.
[out] pResults
Adresse d’un tableau de valeurs HRESULT allouées par l’appelant. Le nombre d’éléments dans le tableau est lNumberOfDisks.
Si un disque peut être migré ou a été correctement migré, l’élément de tableau correspondant reçoit S_OK ; sinon, il reçoit le code d’avertissement ou le code d’erreur retourné par le fournisseur. Pour obtenir la liste des codes de résultat supplémentaires, consultez Valeurs de retour.
[out] pbRebootNeeded
Si ce paramètre est défini sur TRUE, vous devez redémarrer l’ordinateur pour terminer l’opération. S’il est défini sur FALSE, l’opération se termine sans redémarrer.
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 |
---|---|
|
La migration s’est terminée avec succès. |
|
Au moins l’un des disques ne peut pas être converti ou peut être converti avec un avertissement. |
|
L’un des disques n’est pas disponible. |
|
Une tentative d’importation d’un sous-ensemble des disques dans le pack étranger a été effectuée. |
Les avertissements et erreurs suivants peuvent être retournés par le biais de pResults :
Code/valeur de retour | Description |
---|---|
|
Le numéro de partition de la partition de démarrage a été modifié à la suite de l’opération de migration. |
|
Le disque sélectionné ne dispose pas de suffisamment d’espace libre pour terminer l’opération. |
|
Une partition active a été détectée sur le disque sélectionné, et il ne s’agit pas de la partition active utilisée pour démarrer le système d’exploitation actif. |
|
Les informations de partition ne peuvent pas être lues. |
|
Une partition de type inconnu a été détectée sur le disque sélectionné. |
|
Le disque GPT sélectionné contient une partition de données non de base, qui est précédée et suivie d’une ou plusieurs partitions de données de base. |
|
Impossible d’ouvrir un volume sur le disque sélectionné. |
Remarques
VDS implémente cette méthode.
Un pack unique ne peut avoir qu’un seul disque de base. Par conséquent, vous ne pouvez migrer qu’un seul disque à la fois entre un pack de base et un pack dynamique.
Vous devez forcer cette opération lors de la conversion d’un disque de base au format de disque dynamique et que la fin du disque manque d’espace pour la base de données LDM. Définissez le paramètre bForce sur true et forcez l’opération malgré la limite d’espace. De même, si une partition OEM se trouve au milieu d’un disque MBR avec de l’espace libre ou des volumes de données de chaque côté.
Après avoir migré des disques dynamiques vers un pack dynamique, vous devez utiliser la méthode IVdsPack::GetProperties pour déterminer si le pack source ou de destination est désormais le pack en ligne.
Pour plus d’informations sur l’utilisation de la méthode MigrateDisks pour ajouter des disques étrangers à un pack, consultez Ajout de disques étrangers à un pack.
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 |