Méthode IVdsSubSystem ::QueryLuns (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 une énumération des lun exposés dans le sous-système. Cette méthode s’applique uniquement aux objets du fournisseur de matériel.
Syntaxe
HRESULT QueryLuns(
[out] IEnumVdsObject **ppEnum
);
Paramètres
[out] ppEnum
Adresse d’un pointeur d’interface IEnumVdsObject qui peut être utilisée pour énumérer les numéros d’unité logique en tant qu’objets LUN. Pour plus d’informations, consultez Utilisation des objets d’énumération. Les appelants doivent libérer l’interface et chacun des objets LUN lorsqu’ils ne sont plus nécessaires en appelant la méthode IUnknown ::Release .
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 |
---|---|
|
Retourne l’énumération des lun dans le sous-système. Si le sous-système n’a pas de numéro d’unité logique, l’énumération est vide. |
|
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 de sous-système n’est plus présent. |
|
Le sous-système 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. |
Remarques
L’interface IEnumVdsObject inclut tous les numéros d’unité logique du sous-système, quel que soit le masquage des LUN.
Les implémenteurs doivent retourner un objet d’énumération vide pour chaque sous-système avec zéro LUN.
Si cette méthode est appelée dans deux threads distincts qui s’exécutent simultanément, les résultats peuvent être incohérents. Si elle est appelée dans un thread alors qu’une méthode telle que IVdsLun ::D elete est appelée dans un autre thread qui s’exécute simultanément, le résultat peut être une violation d’accès du fournisseur. Le fournisseur de matériel est chargé de sérialiser cette opération de requête en fonction des besoins afin de réduire ces problèmes de synchronisation.
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 |