SWbemServices.InstancesOfAsync, méthode

La méthode InstancesOfAsync de l’objet SWbemServices récupère les instances d’une classe spécifiée selon des critères spécifiés par l’utilisateur.

La méthode est appelée en mode asynchrone. Pour plus d’informations, consultez Appel d’une méthode.

Vous trouverez une explication de la syntaxe dans la rubrique Conventions de document pour l’API de script.

Syntaxe

SWbemServices.InstancesOfAsync( _
  ByVal ObjWbemSink, _
  ByVal strClass, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Paramètres

ObjWbemSink

Récepteur d’objets qui reçoit les instances de façon asynchrone. Créez un objet SWbemSink pour recevoir les objets.

strClass

Obligatoire. Chaîne qui contient le nom de la classe pour les instances souhaitées. Ce paramètre ne peut pas être vide.

iFlags [facultatif]

Détermine la profondeur de l’énumération de l’appel et si l’appel est retourné immédiatement. Ce paramètre peut accepter les valeurs suivantes.

wbemQueryFlagShallow (1 (0x1))

Force l’énumération à inclure uniquement les sous-classes immédiates de la classe parente spécifiée.

wbemQueryFlagDeep (0 (0x0))

Valeur par défaut pour ce paramètre. Cette valeur force l’énumération à inclure toutes les classes de la hiérarchie.

wbemFlagSendStatus (128 (0x80))

Oblige les appels asynchrones à envoyer des mises à jour d’état au gestionnaire d’événements OnProgress du récepteur d’objets.

wbemFlagDontSendStatus (0 (0x0))

Empêche les appels asynchrones d’envoyer des mises à jour d’état du récepteur d’objets au gestionnaire d’événements OnProgress.

wbemFlagUseAmendedQualifiers (131072 (0x20000))

Amène WMI à retourner des données de modification de classe avec la définition de classe de base. Pour plus d’informations, consultez Localisation des informations de classe WMI.

objWbemNamedValueSet [facultatif]

En règle générale, ce n’est pas défini. Quand elle est définie, la valeur est un objet SWbemNamedValueSet dont les éléments représentent les informations de contexte qui peuvent être utilisées par le fournisseur traitant la requête. Un fournisseur qui prend en charge ou nécessite de telles informations de contexte doit documenter les noms de valeur reconnus, le type de données de la valeur, les valeurs autorisées et la sémantique.

objWbemAsyncContext [facultatif]

Objet SWbemNamedValueSet, qui est retourné au récepteur d’objets pour identifier la source de l’appel asynchrone d’origine. Utilisez ce paramètre si vous effectuez plusieurs appels asynchrones à l’aide du même récepteur d’objets. Pour utiliser ce paramètre, créez un objet SWbemNamedValueSet et utilisez la méthode SWbemNamedValueSet.Add pour ajouter une valeur qui identifie l’appel asynchrone que vous effectuez. Cet objet SWbemNamedValueSet est retourné au récepteur d’objets, et la source de l’appel peut être extraite à l’aide de la méthode SWbemNamedValueSet.Item.

Valeur retournée

Cette méthode ne retourne pas de valeur. En cas de réussite, le récepteur reçoit un événement OnObjectReady par instance. Après la dernière instance, le récepteur d’objets reçoit un événement OnCompleted.

Codes d’erreur

Une fois la méthode InstancesOfAsync terminée, l’objet Err peut contenir l’un des codes d’erreur de la liste suivante.

wbemErrAccessDenied - 2147749891 (0x80041003)

L’utilisateur actuel n’a pas l’autorisation nécessaire pour voir les instances de la classe spécifiée.

wbemErrFailed - 2147749889 (0x80041001)

Une erreur non spécifiée s’est produite.

wbemErrInvalidClass - 2147749904 (0x80041010)

La classe spécifiée n'est pas valide.

wbemErrInvalidParameter - 2147749896 (0x80041008)

Un paramètre spécifié n’est pas valide.

wbemErrOutOfMemory - 2147749894 (0x80041006)

La mémoire disponible est insuffisante pour terminer cette opération.

Notes

Cet appel est retourné immédiatement. Les objets et l’état demandés sont retournés à l’appelant par le biais de rappels qui sont remis au récepteur spécifié dans objWbemSink. Pour traiter chaque objet au moment où il est retourné, créez une sous-routine d’événement objWbemSink.OnObjectReady. Une fois tous les objets retournés, vous pouvez effectuer le traitement final dans votre implémentation de l’événement objWbemSink.OnCompleted.

Un rappel asynchrone permet à un utilisateur non authentifié de fournir des données au récepteur. Cela pose des risques de sécurité pour vos scripts et applications. Pour éliminer les risques, consultez Définition de la sécurité sur un appel asynchrone

La méthode InstancesOfAsync fonctionne uniquement pour les objets de classe. Il ne s’agit pas d’une erreur indiquant que l’énumérateur retourné ne présente aucun (0) élément.

Spécifications

Condition requise Value
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
En-tête
Wbemdisp.h
Bibliothèque de types
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

Voir aussi

SWbemServices

Appel d’une méthode