Compartir a través de


Método IObjectControl::Activate (comsvcs.h)

Permite que un objeto COM+ realice la inicialización específica del contexto siempre que se active. El entorno en tiempo de ejecución de COM+ llama a este método antes de llamar a cualquier otro método en el objeto .

Sintaxis

HRESULT Activate();

Valor devuelto

Este método puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL y S_OK.

Comentarios

Cada vez que un cliente llama a un objeto COM+ que aún no está activo, el entorno en tiempo de ejecución de COM+ activa automáticamente el objeto. Esto se denomina Activación Just-In-Time. Para los componentes que admiten IObjectControl como interfaz, COM+ invoca el método Activate del objeto antes de pasar la llamada al método del cliente al objeto .

Los procedimientos de inicialización específicos del contexto deben implementarse en el método Activate para los objetos que exponen IObjectControl.

Por ejemplo, puede usar el método Activate para obtener una referencia al contexto de un objeto y almacenarla en una variable miembro. A continuación, el contexto del objeto está disponible para cualquier método que lo requiera y no es necesario adquirir uno nuevo cada vez que desee usarlo. Después de tener una referencia al contexto del objeto, puede usar los métodos IObjectControl para comprobar si la seguridad está habilitada, si el objeto se está ejecutando en una transacción o si el autor de la llamada está en un rol determinado.

Si va a habilitar el reciclaje de objetos (mediante la implementación del método CanBePooled para consultar el objeto), el método Activate debe ser capaz de controlar los objetos recién creados y reciclados. Cuando se devuelve el método Activate , no debe haber ninguna diferencia distintiva entre un nuevo objeto y uno reciclado.

COM+ prohíbe expresamente llamar a un objeto que expone IObjectControl antes de llamar al método Activate (cuando está en su constructor). Esta llamada produciría un error de RPC_E_DISCONNECTED. Por ejemplo, si un objeto pasa una referencia a sí misma mientras está en su constructor y, a continuación, la referencia vuelve a llamar a ese objeto antes de la llamada a Activate, se devuelve el error desconectado.

También puede usar el método Activate para obtener una referencia a la interfaz ISecurityProperty del objeto y comprobar el identificador de seguridad del creador del objeto antes de llamar a cualquier método.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado comsvcs.h

Consulte también

IObjectControl