IVdsVolume::Extend, 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.]
Étend la taille du volume actuel en ajoutant des étendues de disque à chaque membre de chaque plex.
Syntaxe
HRESULT Extend(
[in] VDS_INPUT_DISK *pInputDiskArray,
[in] LONG lNumberOfDisks,
[out] IVdsAsync **ppAsync
);
Paramètres
[in] pInputDiskArray
Pointeur vers un tableau de structures VDS_INPUT_DISK ; une structure pour chaque disque.
[in] lNumberOfDisks
Nombre total de disques dans le volume. Les appelants peuvent passer zéro lorsque les plex de volume contiennent suffisamment d’espace pour étendre le volume ; pInputDiskArray doit avoir la valeur NULL.
[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 l’état de l’opération. Si vous appelez la méthode IVdsAsync::Wait sur cette interface et qu’une valeur HRESULT réussie 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 |
---|---|
|
La méthode a été en concurrence avec succès. |
|
Impossible d’étendre le volume, car le système de fichiers sur le volume ne prend pas en charge l’opération. |
|
Il n’y a pas assez d’espace pour étendre le volume. |
|
Le volume n’est pas sain. |
Remarques
Cette méthode étend un volume simple sur le même disque ou crée un volume étendu en étendant le volume à plusieurs disques. Les appelants peuvent étendre un volume sur un disque de base, mais l’étendue du disque doit être contiguë au volume.
VDS étend automatiquement le système de fichiers pour s’adapter à la taille de volume étendue. Le système de fichiers doit prendre en charge cette opération. VDS étend le système de fichiers, mais pas le volume, si un appelant ne parvient pas à spécifier les étendues à utiliser.
Les opérations d’extension et de réduction sont prises en charge uniquement sur les volumes NTFS et RAW.
VDS applique les règles suivantes lors de l’extension d’un volume :
- Pour les types plex simples et étendus, VDS étend le seul membre du plex avec toute étendue de disque qui ne contribue pas déjà à un autre plex, que l’étendue se trouve sur le même disque ou non. VDS utilise des étendues de disque dans l’ordre donné par l’appelant, en ignorant l’index membre de l’étendue. Sauf sur un disque de base, VDS peut étendre le seul membre d’un plex avec n’importe quelle étendue de disque sur le même disque ou sur un autre disque.
- Pour les types plex à bandes et à bandes avec parité, VDS affecte une étendue au membre du plex comme suit :
- L’étendue va à l’index membre spécifié par l’appelant.
- L’étendue va à l’index membre qui occupe le même disque lorsque l’appelant ne parvient pas à spécifier un ID de membre.
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
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 |