Compartilhar via


Usando serviços COM+ por meio do CoCreateActivity

A função CoCreateActivity é usada para enviar trabalho em lote para o sistema COM+. Ele permite que aplicativos baseados em script ofereçam suporte a uma configuração de serviço COM+ em todo o aplicativo.

Os serviços COM+ desejados são configurados por meio de um objeto CServiceConfig que é passado para a função. A função cria um objeto de atividade e retorna a interface IServiceActivity desse objeto. O trabalho em lote pode ser enviado de forma síncrona ou assíncrona, usando os métodos SynchronousCall ou AsynchronousCall de IServiceActivity, respectivamente. Um ponteiro para uma interface IServiceCall é passado para cada um desses métodos, e o trabalho em lote é implementado pelo desenvolvedor no método OnCall da interface IServiceCall.

Ferramenta administrativa de serviços de componentes

Não se aplica.

Visual Basic

Não se aplica.

C/C++

O fragmento de código a seguir ilustra como usar serviços COM+ por meio de CoCreateActivity. O tratamento de erros foi omitido para fins de brevidade. Esse fragmento de código usa o objeto CServiceConfig que foi criado e configurado em Configurando serviços COM+ com 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

Configurando serviços COM+ com CServiceConfig

CServiceConfig

Usando serviços COM+ por meio de CoEnterServiceDomain e CoLeaveServiceDomain