Partager via


Méthode CWbemProviderGlue::GetAllDerivedInstancesAsynch (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 GetAllDerivedInstancesAsynch récupère une liste d’instances prises en charge par un fournisseur particulier et dérivées d’une classe de base particulière. Cette méthode permet au fournisseur de répondre de manière asynchrone en retournant une instance à la fois.

Syntaxe

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

Paramètres

pszBaseClassName

Nom de la classe de base pour laquelle la liste doit être retournée.

pRequester

Pointeur 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 nom de classe spécifié par pszClassName. Lorsque ce paramètre a la valeur NULL, l’espace de noms par défaut root\cimv2 est utilisé.

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 obtenez-le à partir du instance à l’aide de CInstance::GetMethodContext. Ce paramètre ne doit pas être NULL.

pUserData

Pointeur vers les données définies par l’utilisateur qui sont passées à 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 tout autre code d’erreur HRESULT.

Remarques

La méthode GetAllDerivedInstancesAsynch exécute presque la même fonction que GetAllDerivedInstances. Toutefois, au lieu de retourner un tableau arbitrairement volumineux 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.

Cette méthode est sémantiquement équivalente à la requête SELECT * FROM pszBaseClassName.

É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 la communication semi-synchronisée au lieu d’une communication asynchrone. Si, toutefois, vous avez besoin d’une communication asynchrone, consultez Appel d’une méthode.

Pour plus d’informations sur l’utilisation semi-synchrone des méthodes, consultez CWbemProviderGlue::GetAllDerivedInstances et Appel d’une méthode.

Configuration requise

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