Partager via


Méthode CWbemProviderGlue ::GetAllInstancesAsynch (wbemglue.h)

[La classe CWbemProviderGlue fait partie du framework de fournisseur WMI, qui est désormais considéré comme étant à l’état final. Aucun autre développement, aucune autre amélioration ou mise à jour ne sera disponible pour les problèmes non liés à la sécurité affectant ces bibliothèques. Les API MI doivent être utilisées dans tout nouveau développement.]

La méthode GetAllInstancesAsynch récupère une liste d’instances retournées par une classe spécifique. Cette méthode permet au fournisseur de répondre de manière asynchrone en retournant une instance à la fois.

Syntaxe

HRESULT GetAllInstancesAsynch(
  LPCWSTR                    pszClassName,
  Provider                   *pRequester,
  LPProviderInstanceCallback pCallback,
  LPCWSTR                    pszNamespace,
  MethodContext              *pMethodContext,
  void                       *pUserData
);

Paramètres

pszClassName

Nom de la classe pour laquelle la liste d’instances doit être retournée.

pRequester

Pointeur « This » pour la fonction de rappel pointée vers pCallback.

pCallback

Pointeur vers une fonction statique avec ce prototype :

static HRESULT WINAPI Classname::FunctionName(Provider *pProvider,
                                              CInstance *pInstance,
                                              MethodContext *pMethodContext,
                                              void *pUserData );

où Classname est le nom d’une classe dérivée de la classe Provider. Il s’agit d’un instance de cette classe qui est le pointeur « this » défini par pRequester. Cette fonction est appelée pour retourner chaque instance pris en charge par le fournisseur spécifié par pszClassName.

pszNamespace

Espace de noms du fournisseur spécifié par pszClassName. Ce paramètre peut avoir la valeur NULL pour indiquer l’espace de noms par défaut, qui est root\cimv2.

pMethodContext

Pointeur vers le contexte actuel. Un contexte doit être fourni pour éviter les interblocages. Utilisez le contexte transmis au fournisseur par Provider ::EnumerateInstances ou Provider ::ExecQuery, ou bien obtenez-le à partir du instance à l’aide de CInstance ::GetMethodContext. Ce paramètre ne doit pas avoir la valeur NULL.

pUserData

Pointeur vers les données définies par l’utilisateur transmises à la fonction pointée par pCallback.

Valeur retournée

La méthode retourne WBEM_S_NO_ERROR si l’opération a réussi, WBEM_E_OUT_OF_MEMORY si l’opération a échoué en raison d’un manque de mémoire ou d’un autre code d’erreur HRESULT.

Remarques

La méthode GetAllInstancesAsynch exécute presque la même fonction que GetAllInstances. Toutefois, au lieu de retourner un grand tableau arbitraire d’instances, le fournisseur transmet une instance à la fonction spécifiée par pCallback chaque fois que le instance est récupéré à partir d’un fournisseur. Cela permet au fournisseur d’utiliser moins de mémoire et de commencer à retourner des instances au client plus tôt.

Note Étant donné que le rappel au récepteur peut ne pas être retourné au même niveau d’authentification que celui requis par le client, il est recommandé d’utiliser semi-synchrone au lieu d’une communication asynchrone. Pour plus d’informations, consultez Appel d’une méthode.
 
Cette méthode est sémantiquement équivalente à la requête SELECT * FROM pszBaseClassName WHERE __Class = pszBaseClassName.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête wbemglue.h (inclure FwCommon.h)
Bibliothèque FrameDyn.lib
DLL FrameDynOS.dll ; FrameDyn.dll