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 |