Utilisation des services COM+ via CoEnterServiceDomain et CoLeaveServiceDomain
CoEnterServiceDomain et CoLeaveServiceDomain sont utilisés ensemble pour entourer une zone de code qui s’exécute dans son propre contexte et peut utiliser des services COM+ sans avoir besoin de composants COM+. Les services COM+ utilisés dans ce contexte sont configurés via l’objet CServiceConfig passé à CoEnterServiceDomain. Le code entouré par CoEnterServiceDomain et CoLeaveServiceDomain se comporte comme s’il s’agissait d’une méthode appelée sur un objet créé dans ce contexte.
Une application de script peut utiliser cette paire de fonctions pour fournir une prise en charge au moment de l’exécution des services COM+ sans composants. Par exemple, une application de script peut être développée pour fournir des balises qui permettent aux enregistreurs de scripts d’entrer et de laisser un domaine de service dans le script. Lorsque le moteur de script traite le script et rencontre les balises, il peut appeler CoEnterServiceDomain avec un objet CServiceConfig préconfiguré, exécuter le code nécessaire, puis appeler CoLeaveServiceDomain.
Outil d’administration des services de composants
Non applicable.
Visual Basic
Non applicable.
C/C++
Le fragment de code suivant illustre l’utilisation des services COM+ entre les appels à CoEnterServiceDomain et CoLeaveServiceDomain. La gestion des erreurs est omise par souci de concision. Ce fragment de code utilise l’objet CServiceConfig qui a été créé et configuré dans La configuration des services COM+ avec CServiceConfig.
// A CServiceConfig object was created as follows:
// hr = CoCreateInstance(CLSID_CServiceConfig, NULL, CLSCTX_INPROC_SERVER,
// IID_IUnknown, (void**)&pUnknownCSC);
// Enter the Service Domain.
HRESULT hr = CoEnterServiceDomain(pUnknownCSC);
if (FAILED(hr)) throw(hr);
// Do the work that uses COM+ services here.
//DoMyWork();
// Leave the Service Domain.
CoLeaveServiceDomain(NULL);
Rubriques connexes