Toute application client doit passer par les étapes suivantes [MAR 98] :
· initialiser la librairie COM,
· obtenir le CLSID de l’objet COM serveur,
· créer une instance de cet objet,
· utiliser l’objet,
· Désinstallation de la librairie COM.
2.9.1 Initialisation de la librairie COM
L’initialisation de la librairie COM se fait par appel de la fonction CoInitialize() ; généralement dans la fonction initInstance() de l’application client.
On peut également utiliser une fonction plus “récente”, CoInitializeEx(), les fonctions terminées par “Ex” faisant partie d’une mise à jour des librairies COM apparues avec le standard DCOM.
2.9.2 Obtention du CLSID et instanciation de l’objet
L’obtention du CLSID se fait à l’aide du progID, généralement plus aisé à mémoriser et à manipuler.
Ayant le CLSID, l’instanciation d’une classe d’interface se fait à l’aide de la fonction CoCreateInstance().
La valeur retournée peut être :
– – S_OK
– – REGDB_E_CLASSNOTREG
– – CLASS_E_NOAGGREGATION
2.9.3 Utilisation de l’objet COM
Le pointeur sur l’interface désirée retourné par la fonction CoCreateInstance() permet d’exécuter les méthodes de l’objet COM. Lorsque l’instance de l’objet COM n’est plus utile, on détruit le pointeur sur l’interface par la méthode Release() de l’interface héritée IUnknown.
2.9.4 Désinstaller la librairie COM
La désinstallation de la librairie COM se fait à l’aide de la fonction CoUninitialize(). Si l’application fait plusieurs appels à plusieurs CoInitialize() afin de prendre en compte plusieurs contraintes multithread, elle doit appeler CoUninitialize() autant de fois.
Page suivante : 2.10 Les bibliothèques de types – ATL (Active Template Library)
Retour au menu : UTILISATION DES SCRIPTS POUR LE DEVELOPPEMENT DES COMPOSANTS COM ADAPTABLES