Función CoEnterServiceDomain (comsvcs.h)
Se usa para escribir código que, a continuación, puede usar servicios COM+.
Sintaxis
HRESULT CoEnterServiceDomain(
[in] IUnknown *pConfigObject
);
Parámetros
[in] pConfigObject
Puntero a la interfaz IUnknown del objeto, creada a partir de la clase CServiceConfig , que contiene la información de configuración de los servicios que se van a usar en el código incluido.
Valor devuelto
Este método puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY y E_FAIL, así como los siguientes valores.
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente. |
|
La configuración del ensamblado en paralelo del objeto CServiceConfig no es válida. |
|
La configuración del grupo de subprocesos del objeto CServiceConfig no es válida. El modelo de apartamento de subprocesos no se puede volver a configurar llamando a CoEnterServiceDomain. |
|
La configuración de seguimiento del objeto CServiceConfig no es válida. |
|
El autor de la llamada no tiene permisos de acceso para la partición COM+. |
Comentarios
El código que se incluye entre las llamadas a CoEnterServiceDomain y CoLeaveServiceDomain se ejecuta en su propio contexto y se comporta como si fuera un método al que se llama en un objeto creado en el contexto. CoEnterServiceDomain no puede cambiar a un modelo de apartamento diferente, por lo que el código incluido se ejecuta en el apartamento del autor de la llamada y en el subproceso del autor de la llamada. Es un error intentar cambiar el modelo de apartamento a través del objeto CServiceConfig al llamar a CoEnterServiceDomain.
CoEnterServiceDomain crea primero un contexto configurado según lo especificado por el objeto CServiceConfig que se pasa como parámetro pConfigObject . Las directivas en los lados del cliente y del servidor se desencadenan como si se hubiera producido una llamada de método. A continuación, el nuevo contexto se inserta en una pila de contextos y se convierte en el contexto actual.
Debido a su diseño eficaz y porque no hay ninguna serialización de subprocesos implicada, el uso de CoEnterServiceDomain y CoLeaveServiceDomain implica una sobrecarga significativamente reducida en comparación con una llamada de método equivalente.
CoEnterServiceDomain y CoLeaveServiceDomain son especialmente útiles en las aplicaciones, que pueden usar estas funciones para acceder a los servicios COM+ sin necesidad de crear un componente para hacerlo.
Los pares CoEnterServiceDomain y CoLeaveServiceDomain se pueden anidar.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | comsvcs.h |
Library | ComSvcs.lib |
Archivo DLL | ComSvcs.dll |