Compartir a través de


Método IObjectControl::D eactivate (comsvcs.h)

Permite que un objeto COM+ realice la limpieza necesaria antes de reciclarlo o destruirlo.

El entorno en tiempo de ejecución de COM+ llama a este método cada vez que se desactiva un objeto. No realice ninguna llamada de método a objetos de la misma actividad desde este método.

Sintaxis

void Deactivate();

Valor devuelto

None

Observaciones

El entorno en tiempo de ejecución com+ llama al método Deactivate cada vez que se desactiva un objeto que admite la interfaz IObjectControl . Un objeto se desactiva cuando vuelve de un método en el que el método denominado SetComplete o SetAbort, cuando la transacción en la que se ejecutó se confirma o anula, o cuando el último cliente que contiene una referencia en el objeto libera su referencia.

Si el componente admite el reciclaje (devuelve TRUE desde el método CanBePooled ), debe usar el método Deactivate para restablecer el estado del objeto al estado en el que el método Activate espera encontrarlo. También puede usar el método Deactivate para liberar el contexto del objeto o para realizar otra limpieza específica del contexto. Incluso si un objeto admite el reciclaje, puede ser beneficioso liberar determinados recursos reutilizables en su método Deactivate . Por ejemplo, ODBC proporciona su propia agrupación de conexiones. Es más eficaz agrupar una conexión de base de datos en un grupo de conexiones general donde otros objetos pueden usarlo de lo que es mantenerla vinculada a un objeto específico de un grupo de objetos.

COM+ prohíbe expresamente llamar a un objeto que expone IObjectControl después de que se haya devuelto el método deactivate (cuando está en su destructor). Esta llamada produciría un error de RPC_E_DISCONNECTED. Por ejemplo, si un objeto ha pasado una referencia a sí misma y, a continuación, vuelve a llamar al objeto después de que Se haya devuelto Deactivate , se producirá un error desconectado.

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