Partager via


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);

CoCreateActivity

Configuration des services COM+ avec CServiceConfig

CServiceConfig

Utilisation de COM+ Services via CoEnterServiceDomain et CoLeaveServiceDomain