Initialisation d’un fournisseur
L’une des premières tâches à coder pour un fournisseur est le processus d’initialisation, qui couvre toutes les tâches que votre fournisseur doit effectuer, qui lui permet d’envoyer et de recevoir des informations à partir de WMI, de contrôler un objet géré et d’effectuer d’autres tâches. Chaque type de fournisseur a un ensemble différent de tâches qu’il doit effectuer et un ensemble d’interfaces uniques.
Toutefois, tous les fournisseurs s’initialisent par le biais de l’interface IWbemProviderInit et informent WMI de leur état d’initialisation par le biais de l’interface IWbemProviderInitSink .
La procédure suivante décrit comment initialiser un fournisseur.
Pour initialiser un fournisseur
Implémentez IWbemProviderInit :: Initialize pour votre fournisseur.
Lorsque WMI détermine qu’un client requiert les services d’un fournisseur, WMI charge le fournisseur en appelant la méthode IWbemProviderInit :: Initialize .
Implémentez toutes les interfaces propres à votre type de fournisseur.
Informez WMI que votre fournisseur a fini d’être initialisé en appelant IWbemProviderInitSink :: SetStatus.
Toutes les implémentations de IWbemProviderInit :: Initialize doivent appeler IWbemProviderInitSink :: SetStatus pour signaler l’état d’initialisation à WMI. La méthode SetStatus permet à WMI de déterminer si un fournisseur est prêt à recevoir des demandes et le type de demandes que le fournisseur est prêt à recevoir.
La procédure suivante décrit comment signaler une initialisation réussie.
Pour signaler une initialisation réussie
Définissez le paramètre IStatus de SetStatus sur WBEM _ . _
En retournant WBEM _ S _ initialisé, un fournisseur indique une préparation pour gérer les demandes des applications, WMI et d’autres fournisseurs. Après la réception de WBEM _ _ , WMI effectue un appel à la méthode IWbemProviderInit :: QueryInterface sur le fournisseur. Cette requête récupère un pointeur vers l’interface principale du fournisseur.
La procédure suivante décrit comment signaler une erreur pendant l’initialisation.
Pour signaler une erreur pendant l’initialisation
_ _ Échec de la définition du paramètre IStatus de SetStatus à WBEM. Les fournisseurs d’affichages WMI qui renvoient WBEM _ E _ échouent comme non fonctionnels.
WMI libère le pointeur IWbemProviderInit une fois que WMI a obtenu un pointeur vers l’interface principale du fournisseur ou après l’échec de l’initialisation.