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);
Tópicos relacionados