Share via


Méthode IVdsSubSystem2 ::QueryMaxLunCreateSize2 (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.]

Retourne la taille de la LUN maximale qui peut être créée à l’aide du type de LUN et des indicateurs spécifiés. Cette méthode est identique à la méthode IVdsSubSystem ::QueryMaxLunCreateSize , sauf que les indicateurs automagiques sont fournis à l’aide d’une structure VDS_HINTS2 au lieu d’une structure de VDS_HINTS .

Syntaxe

HRESULT QueryMaxLunCreateSize2(
  [in]  VDS_LUN_TYPE  type,
  [in]  VDS_OBJECT_ID *pDriveIdArray,
  [in]  LONG          lNumberOfDrives,
  [in]  VDS_HINTS2    *pHints2,
  [out] ULONGLONG     *pullMaxLunSize
);

Paramètres

[in] type

Valeur d’énumération VDS_LUN_TYPE qui spécifie le type de LUN.

[in] pDriveIdArray

Pointeur vers un tableau contenant un VDS_OBJECT_ID pour chacun des lecteurs à utiliser dans la création de lun. Le fournisseur doit essayer d’utiliser les lecteurs dans l’ordre fourni. Ce paramètre peut avoir la valeur NULL si le paramètre lNumberOfDrives est égal à zéro, auquel cas le fournisseur doit sélectionner automatiquement les lecteurs.

[in] lNumberOfDrives

Nombre d’entrées dans le tableau pDriveIdArray . Ce paramètre est facultatif et peut être égal à zéro.

[in] pHints2

Pointeur vers la structure VDS_HINTS2 utilisée pour créer la LUN. Les indicateurs ont toujours une priorité inférieure à celle des paramètres répertoriés précédemment. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

[out] pullMaxLunSize

Pointeur vers une mémoire tampon contenant la taille maximale de la LUN en octets. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

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
Il existe 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 de sous-système n’est plus présent.
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
Le sous-système est dans un état d’échec et n’est pas en mesure d’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 se poursuivre tant que la ou les opérations précédentes ne sont pas terminées.
VDS_E_OBJECT_NOT_FOUND
0x80042405L
L’identificateur ne fait pas référence à un objet existant. Cette valeur peut être retournée à partir de n’importe quelle méthode qui prend une constante VDS_OBJECT_ID .
VDS_E_NOT_SUPPORTED
0x80042400L
Cette opération ou cette combinaison de paramètres n’est pas prise en charge par ce fournisseur.

Configuration requise

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

Voir aussi

IVdsSubSystem2

VDS_HINTS2