Compartilhar via


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

CoEnterServiceDomain e CoLeaveServiceDomain são usados juntos para cercar uma área de código que é executada em seu próprio contexto e pode usar serviços COM+ sem a necessidade de componentes COM+. Os serviços COM+ usados nesse contexto são configurados por meio do objeto CServiceConfig que é passado para CoEnterServiceDomain. O código que é cercado por CoEnterServiceDomain e CoLeaveServiceDomain se comporta como se fosse um método que é chamado em um objeto criado dentro desse contexto.

Um aplicativo de script pode usar esse par de funções para fornecer suporte em tempo de execução de serviços COM+ sem componentes. Por exemplo, um aplicativo de script pode ser desenvolvido para fornecer marcas que permitem que os escritores de script entrem e saiam de um domínio de serviço dentro do script. Quando o mecanismo de script processa o script e encontra as tags, ele pode chamar CoEnterServiceDomain com um objeto CServiceConfig pré-configurado, executar o código necessário e, em seguida, chamar CoLeaveServiceDomain.

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+ entre chamadas para CoEnterServiceDomain e CoLeaveServiceDomain. 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);

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

CoEnterServiceDomain

CoLeaveServiceDomain

Configurando serviços COM+ com CServiceConfig

CServiceConfig

Usando serviços COM+ por meio do CoCreateActivity