Partager via


Méthode Discover de la classe MSFT_StorageProvider

Découvre les objets appartenant au fournisseur de stockage.

Cette méthode est utilisée lorsqu’un utilisateur doit découvrir ou énumérer explicitement des objets appartenant au fournisseur de stockage. Un appel à cette méthode entraîne l’invalidation complète ou partielle du cache et des appels sur le réseau vers le sous-système de stockage pour découvrir des objets nouveaux ou mis à jour. Étant donné qu’il s’agit d’une tâche coûteuse, cette méthode doit être utilisée avec parcimonie.

L’étendue de l’opération de découverte est contrôlée par les paramètres DiscoveryLevel et RootObject . DiscoveryLevel contrôle la profondeur de la découverte d’objets. RootObject définit le point de départ à partir duquel la découverte se produira.

Syntaxe

UInt32 Discover(
  [in]  UInt16                 DiscoveryLevel,
  [in]  MSFT_StorageObject REF RootObject,
  [in]  Boolean                RunAsJob,
  [out] MSFT_StorageJob    REF CreatedStorageJob,
  [out] String                 ExtendedStatus
);

Paramètres

DiscoveryLevel [in]

Niveau (ou profondeur) de la découverte à effectuer. Ce paramètre ne peut être spécifié que si l’objet racine est un fournisseur de stockage, un sous-système de stockage ou NULL. Quand il est spécifié, le fournisseur de stockage découvre les objets à partir du niveau 0 et continue jusqu’à ce que le niveau spécifié soit atteint. Les associations entre les objets (au sein des niveaux découverts) seront également découvertes.

Valeur Signification
Niveau 0 0 Le fournisseur de stockage, le sous-système de stockage et les objets fileserver seront découverts. Remarque : À partir de Windows 10 : la découverte d’objets fileserver a été ajoutée.
Niveau 1 1 Les pools de stockage, les partages de fichiers, les paramètres de résilience, les ports cibles, les portails cibles et les identificateurs d’initiateur seront découverts. Remarque : À partir de Windows 10 : la découverte des partages de fichiers a été ajoutée.
Niveau 2 2 Les disques virtuels, les volumes, les partitions, les disques et les jeux de masquage seront découverts. Remarque : À partir de Windows 10 : la découverte des volumes, des partitions et des disques a été ajoutée.
Niveau 3 3 Les disques physiques seront découverts.

RootObject [in]

Si ce paramètre est défini, la découverte commence à partir de cet objet. Lorsque DiscoveryLevel a la valeur NULL, des actions bien définies sont effectuées en fonction du type d’objet spécifié par RootObject :

  • Sous-système de stockage : tous les objets associés seront découverts.
  • Pool de stockage : le pool, ainsi que tous les paramètres de résilience associés, les disques virtuels et les disques physiques sont découverts.
  • Jeu de masquage : le jeu de masquage, ainsi que tous les ports cibles, identificateurs d’initiateur et disques virtuels associés seront découverts.
  • Pour tous les autres objets, seul cet objet sera découvert ou actualisé.

RunAsJob [in]

Si la valeur est TRUE, cette méthode utilise le paramètre CreatedStorageJob lorsque la maintenance de la requête prend beaucoup de temps. Si un travail de stockage a été créé pour suivre l’opération, cette méthode retourne paramètres de méthode vérifiés - Travail démarré.

Notes

Même si RunAsJob a la valeur TRUE, cette méthode peut toujours retourner un résultat s’il s’est terminé en suffisamment de temps.

Si la valeur est FALSE ou NULL, cette méthode suit le comportement asynchrone WMI par défaut, tel que déterminé par la méthode du client pour l’appel. En d’autres termes, elle est synchrone, sauf demande contraire.

CreatedStorageJob [out]

Si RunAsJob a la valeur TRUE et que cette méthode prend beaucoup de temps à s’exécuter, ce paramètre reçoit une référence à l’objet de travail de stockage utilisé pour suivre l’opération de longue durée.

ExtendedStatus [out]

Chaîne qui contient un objet MSFT_StorageExtendedStatus incorporé.

Ce paramètre permet au fournisseur de stockage de retourner des informations d’erreur étendues (spécifiques à l’implémentation).

Valeur retournée

Réussite (0)

Non pris en charge (1)

Erreur non spécifiée (2)

Délai d’expiration (3)

Échec (4)

Paramètre non valide (5)

Paramètres de méthode vérifiés - Travail démarré (4096)

Accès refusé (40001)

Il n’y a pas suffisamment de ressources pour terminer l’opération. (40002)

Impossible de se connecter au fournisseur de stockage. (46000)

Le fournisseur de stockage ne peut pas se connecter au sous-système de stockage. (46001)

Le fournisseur de stockage ne prend pas en charge un profil requis. (46002)

Le fournisseur de stockage ne prend pas en charge une association requise. (46003)

Échec de la découverte pour l’objet racine. (46009 )

Échec de la détection sur un ou plusieurs sous-systèmes. (46010)

Remarques

Les fournisseurs de stockage doivent effectuer la découverte de niveau 0 au démarrage. Les objets MSFT_StorageProvider et MSFT_StorageSubSystem doivent être chargés dans le cache.

Pour de meilleures performances, les sous-systèmes de stockage dont la propriété iSCSITargetCreationScheme est définie sur Auto doivent effectuer leur découverte des ports cibles avec les disques virtuels au niveau 2. Notez que les portails cibles doivent toujours être découverts au niveau 1.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Espace de noms Root\Microsoft\Windows\Storage
MOF Storagewmi.mof

Voir aussi

MSFT_StorageProvider

MSFT_StorageSubSystem