Méthode SWbemObject.SubclassesAsync_
La méthode SubclassesAsync_ de SWbemObject fournit de façon asynchrone les sous-classes de l’objet actuel, qui doit être une classe.
Pour plus d’explications sur cette syntaxe, consultez Conventions de document pour l’API de script.
Syntaxe
SWbemObject.SubclassesAsync_( _
ByVal objWbemSink, _
[ ByVal iFlags ], _
[ ByVal objWbemNamedValueSet ], _
[ ByVal objWbemAsyncContext ] _
)
Paramètres
-
objWbemSink [in]
-
Obligatoire. Récepteur d’objets qui reçoit les objets de façon asynchrone.
-
iFlags [in, facultatif]
-
Détermine le détail de l’énumération de l’appel. Ce paramètre peut accepter les valeurs suivantes.
-
wbemQueryFlagDeep (0 (0x0))
-
Force l’énumération récursive dans toutes les sous-classes dérivées de la classe parente spécifiée. La classe parente elle-même n’est pas retournée dans l’énumération.
-
wbemQueryFlagShallow (1 (0x1))
-
Valeur par défaut pour ce paramètre. Elle force l’énumération à inclure uniquement les sous-classes immédiates de la classe parente spécifiée.
-
wbemFlagSendStatus (128 (0x80))
-
Provoque des appels asynchrones pour envoyer des mises à jour d’état au gestionnaire d’événements SWbemSink.OnProgress pour le récepteur d’objets.
-
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 sur les qualificateurs modifiés, consultez Localisation des informations de classe WMI.
objWbemNamedValueSet [in, facultatif]
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 [in, optional]
Objet SWbemNamedValueSet qui est retourné au récepteur d’objets pour identifier la source de l’appel asynchrone d’origine. Utilisez ce paramètre quand 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. 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 pour chaque 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 SubclassesAsync_ 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 d’afficher 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 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, utilisez la communication semi-synchronisée ou la communication synchrone. Pour plus d’informations, consultez Appel d’une méthode.
Il est recommandé que les scripts vérifient la source de l’appel en utilisant un paramètre objWbemAsyncContext.
Il ne s’agit pas d’une erreur pour que la collection retournée ait zéro élément s’il n’y a pas de sous-classes de l’objet actuel. La méthode SubclassesAsync_ fonctionne uniquement pour les objets de classe.
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista |
Serveur minimal pris en charge |
Windows Server 2008 |
En-tête |
|
Bibliothèque de types |
|
DLL |
|
CLSID |
CLSID_SWbemObject |
IID |
IID_ISWbemObject |