Utilisation de COM+ Services via CoCreateActivity
La fonction CoCreateActivity est utilisée pour soumettre le travail par lot au système COM+. Il permet aux applications basées sur des scripts de prendre en charge une configuration de service COM+ à l’échelle de l’application.
Les services COM+ souhaités sont configurés via un objet CServiceConfig transmis à la fonction. La fonction crée un objet d’activité et retourne l’interface IServiceActivity de cet objet. Le travail par lot peut être soumis de manière synchrone ou asynchrone, à l’aide des méthodes SynchronousCall ou AsynchroneCall de IServiceActivity, respectivement. Un pointeur vers une interface IServiceCall est transmis à chacune de ces méthodes, et le travail par lot est implémenté par le développeur dans la méthode OnCall de l’interface IServiceCall .
Outil d’administration des services de composants
Non applicable.
Visual Basic
Non applicable.
C/C++
Le fragment de code suivant montre comment utiliser des services COM+ via CoCreateActivity. La gestion des erreurs est omise par souci de concision. Ce fragment de code utilise l’objet CServiceConfig créé et configuré dans Configuration de COM+ Services avec CServiceConfig.
// A CServiceConfig object was created as follows:
// hr = CoCreateInstance(CLSID_CServiceConfig, NULL, CLSCTX_INPROC_SERVER,
// IID_IUnknown, (void**)&pUnknownCSC);
// Create the activity for our services.
HRESULT hr = CoCreateActivity(pUnknownCSC, IID_IServiceActivity, (void**)&pActivity);
if (FAILED(hr)) throw(hr);
// Do the batch work synchronously.
// The batch work is implemented in pServiceCall->OnCall().
hr = pActivity->SynchronousCall(pServiceCall);
if (FAILED(hr)) throw(hr);
Rubriques connexes