Méthode IVdsDrive ::QueryExtents (vdshwprv.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 un tableau des extensions sur un lecteur, y compris les extensions allouées et non allouées.
Syntaxe
HRESULT QueryExtents(
[out] VDS_DRIVE_EXTENT **ppExtentArray,
[out] LONG *plNumberOfExtents
);
Paramètres
[out] ppExtentArray
Pointeur vers le tableau de structures VDS_DRIVE_EXTENT passées par l’appelant. Les appelants doivent libérer ce tableau à l’aide de la fonction CoTaskMemFree .
[out] plNumberOfExtents
Pointeur vers le nombre d’extensions de lecteur retournées dans la structure VDS_DRIVE_EXTENT .
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 |
---|---|
|
Les informations sur les extensions ont été retournées avec succès. Pour un lecteur sans étendues, le tableau est vide, la valeur de plNumberOfExtents est définie sur 0 et la valeur de ppExtentArray est définie sur NULL. |
|
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. |
|
L’objet lecteur n’existe plus. |
|
Le lecteur est dans un état d’échec et ne peut pas effectuer l’opération demandée. |
|
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. |
|
Le sous-système ne prend pas en charge cette méthode. |
Remarques
Un lecteur peut fournir des extensions à n’importe quel nombre de numéros logiques, et ces numéros peuvent être masqués sur n’importe quel nombre d’ordinateurs différents sur le réseau. Utilisez la méthode IVdsLunPlex ::QueryExtents pour afficher toutes les étendues d’un plex de LUN.
Le membre LunId de chaque structure VDS_DRIVE_EXTENT spécifie le GUID du LUN auquel chaque extension allouée contribue. Par conséquent, vous pouvez utiliser le résultat de cette méthode pour déterminer le nombre de numéros d’unité logique auxquels le lecteur contribue en comptant le nombre de valeurs LunId distinctes retournées dans ppExtentArray.
Configuration requise
Condition requise | Valeur |
---|---|
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 | vdshwprv.h |
Bibliothèque | Uuid.lib |