Méthode SWbemServices.SubclassesOfAsync

La méthode SubclassesOfAsync de l’objet SWbemServices retourne une collection de sous-classes pour une classe spécifiée. Utilisez uniquement cette méthode pour les objets de classe.

Cette 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.SubclassesOfAsync( _
  ByVal ObjWbemSink, _
  [ ByVal strSuperclass ], _
  [ ByVal iFlags ], _
  [ ByVal objwbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

Paramètres

ObjWbemSink

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

strSuperclass [facultatif]

Spécifie un nom de classe parent. Seules les classes qui sont des sous-classes de cette classe sont retournées dans l’énumérateur. Si ce paramètre est vide et si iFlags est wbemQueryFlagShallow, seules les classes de niveau supérieur sont retournées (c’est-à-dire les classes qui n’ont pas de classe parente). Si ce paramètre est vide et si iFlags est wbemQueryFlagDeep, toutes les classes de l’espace de noms sont retournées.

iFlags [facultatif]

Détermine la profondeur de l’énumération des appels. La valeur par défaut pour ce paramètre est wbemQueryFlagDeep. 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 récursive dans toutes les sous-classes dérivées de la classe parente spécifiée. La classe parente n’est pas retournée dans l’énumération.

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))

Permet à WMI de 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]

Ce paramètre n’est généralement 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 requête. 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]

Un objet SWbemNamedValueSet qui retourne au récepteur d’objets pour identifier la source de l’appel asynchrone d’origine. Utilisez ce paramètre pour effectuer 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 SubclassesOfAsync terminée, l’objet Err peut contenir l’un des codes d’erreur de la liste suivante.

Notes

Une collection retournée qui ne contient aucun élément n’est pas une erreur.

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.

wbemErrInvalidClass - 2147749904 (0x80041010)

La classe spécifiée n’existe pas.

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.

Notes

Cet appel retourne le résultat immédiatement. Les objets et l’état demandés sont retournés à l’appelant par le biais de rappels remis au récepteur spécifié dans objWbemSink. Pour traiter chaque objet lorsqu’il arrive, créez un objet objWbemSink.Sous-routine d’événement OnObjectReady. Une fois tous les objets retournés, vous pouvez effectuer le traitement final dans votre implémentation de l’événement objWbemSink. Événement 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 Configuration de la sécurité sur un appel asynchrone.

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

SWbemObjectSet