Méthode SWbemServices.AssociatorsOfAsync

La méthode AssociatorsOfAsync de l’objet SWbemServices renvoie une collection d’objets (classes ou instances) appelés points de terminaison associés à un objet spécifié. L’appel à AssociatorsOfAsync retourne immédiatement, et les résultats ainsi que l’état sont retournés à l’appelant par le biais d’événements remis au récepteur spécifié dans objWbemSink. Pour gérer chaque objet retourné, créez un gestionnaire d’événements objWbemSink.OnObjectReady.

Une fois tous les objets arrivés, le traitement est effectué dans l’événement l’objWbemSink.OnCompleted. Cette méthode exécute la même fonction que la requête ASSOCIATORS OF WQL. Pour plus d’informations sur la création d’un récepteur, consultez Réception d’un événement WMI.

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

Pour obtenir une explication de cette syntaxe, consultez Conventions de document pour l’API de script.

Syntaxe

SWbemServices.AssociatorsOfAsync( _
  ByVal objWbemSink, _
  ByVal strObjectPath, _
  [ ByVal strAssocClass ], _
  [ ByVal strResultClass ], _
  [ ByVal strResultRole ], _
  [ ByVal strRole ], _
  [ ByVal bClassesOnly ], _
  [ ByVal bSchemaOnly ], _
  [ ByVal strRequiredAssocQualifier ], _
  [ ByVal strRequiredQualifier ], _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Paramètres

objWbemSink

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

strObjectPath

Obligatoire. Chaîne contenant le chemin d’accès à l’objet de la classe ou à l’instance source. Pour plus d’informations, consultez Description de l’emplacement d’un objet WMI.

strAssocClass [facultatif]

Chaîne contenant une classe d’association. Lorsqu’il est spécifié, ce paramètre indique que les points de terminaison retournés doivent être associés à la source via la classe d’association spécifiée ou une classe dérivée de cette classe d’association.

strResultClass [optionnel]

Chaîne contenant un nom de classe. S’il est spécifié, ce paramètre facultatif indique que les points de terminaison retournés doivent appartenir ou être dérivés de la classe spécifiée dans ce paramètre.

strResultRole [facultatif]

Chaîne contenant le nom de la propriété. S’il est spécifié, ce paramètre indique que les points de terminaison retournés doivent jouer un rôle particulier dans leur association à l’objet source. Le rôle est défini par le nom d’une propriété spécifiée (qui doit être une propriété de référence) d’une association.

strRole [facultatif]

Chaîne contenant le nom de la propriété. S’il est spécifié, ce paramètre indique que les points de terminaison retournés doivent participer à une association avec l’objet source dans lequel l’objet source joue un rôle particulier. Le rôle est défini par le nom d’une propriété spécifiée (qui doit être une propriété de référence) d’une association.

bClassesOnly [facultatif]

Valeur booléenne qui indique si une liste de noms de classes doit être retournée plutôt que des instances réelles des classes. Il s’agit des classes auxquelles appartiennent les instances de points de terminaisons. La valeur par défaut de ce paramètre est FALSE.

bSchemaOnly [facultatif]

Valeur booléenne qui indique si la requête s’applique au schéma plutôt qu’aux données. La valeur par défaut de ce paramètre est FALSE. Elle ne peut être définie sur TRUE que si le paramètre strObjectPath spécifie le chemin d’objet d’une classe. Lorsqu’il est défini sur TRUE, l’ensemble des points de terminaison retournés représente les classes qui sont correctement associées à la classe source dans le schéma.

strRequiredAssocQualifier [facultatif]

Chaîne contenant un nom de qualificateur. S’il est spécifié, ce paramètre indique que les points de terminaison retournés doivent être associés à l’objet source via une classe d’association incluant le qualificateur spécifié.

strRequiredQualifier [facultatif]

Chaîne contenant un nom de qualificateur. S’il est spécifié, ce paramètre indique que les points de terminaison retournés doivent inclure le qualificateur spécifié.

iFlags [optionnel]

Entier qui spécifie les indicateurs supplémentaires pour l’opération. La valeur par défaut de ce paramètre est wbemFlagDontSendStatus. Ce paramètre peut accepter les valeurs suivantes.

wbemFlagSendStatus (128 (0x80))

Provoque des appels asynchrones pour envoyer des mises à jour de l’état du récepteur d’objets au gestionnaire d’événements OnProgress.

wbemFlagDontSendStatus (0 (0x0))

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

wbemFlagUseAmendedQualifiers (131072 (0x20000))

WMI renvoie les données relatives à la modification de la classe en même temps que la définition de la classe de base. Pour plus d’informations sur les qualificateurs modifiés, consultez Localisation des informations de classe WMI.

objWbemNamedValueSet [optional]

En règle générale, ceci n’est pas défini. Sinon, il s’agit d’un objet SWbemNamedValueSet dont les éléments représentent les informations de contexte qui peuvent être utilisées par le fournisseur répondant à la demande. Un fournisseur qui prend en charge ou requiert de telles informations 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 de l’objet, et la source de l’appel peut être extraite à l’aide de la méthode SWbemNamedValueSet.Item. Pour plus d’informations, consultez Appel d’une méthode.

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 AssociatorsAsync_ 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 de voir une ou plusieurs des classes retournées par l’appel.

wbemErrFailed – 2147749889 (0x80041001)

Erreur non spécifiée.

wbemErrInvalidParameter - 2147749896 (0x80041008)

Un paramètre non valide a été spécifié.

wbemErrOutOfMemory - 2147749894 (0x80041006)

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

wbemErrNotFound - 2147749890 (0x80041002)

L’élément demandé est introuvable.

Notes

Cet appel retourne le résultat immédiatement. Les objets et l’état demandés sont retournés à l’appelant par le biais via des rappels remis au récepteur spécifié dans objWbemSink. Pour traiter chaque objet 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 présente des risques quant à la sécurité de vos scripts et applications. Pour éliminer ces risques, consultez Réglage de la sécurité sur un appel asynchrone.

Utilisez le paramètre objWbemAsyncContext dans les scripts pour vérifier la source d’un appel.

Spécifications

Condition requise Valeur
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

SWbemObject.Associators_

SWbemObject.AssociatorsAsync_

SWbemObject.References_

SWbemObject.ReferencesAsync_

SWbemServices.ReferencesTo

SWbemServices.ReferencesToAsync