Partager via


IObjectControl ::D eactivate, méthode (comsvcs.h)

Permet à un objet COM+ d’effectuer le nettoyage requis avant d’être recyclé ou détruit.

Cette méthode est appelée par l’environnement d’exécution COM+ chaque fois qu’un objet est désactivé. N’effectuez aucun appel de méthode sur les objets de la même activité à partir de cette méthode.

Syntaxe

void Deactivate();

Valeur de retour

None

Remarques

L’environnement d’exécution COM+ appelle la méthode Deactivate chaque fois qu’un objet prenant en charge l’interface IObjectControl est désactivé. Un objet est désactivé lorsqu’il retourne à partir d’une méthode dans laquelle la méthode appelée SetComplete ou SetAbort, lorsque la transaction dans laquelle il s’est exécuté est validée ou abandonnée, ou lorsque le dernier client à contenir une référence sur l’objet libère sa référence.

Si le composant prend en charge le recyclage (retourne TRUE à partir de la méthode CanBePooled ), vous devez utiliser la méthode Deactivate pour réinitialiser l’état de l’objet à l’état dans lequel la méthode Activate s’attend à le trouver. Vous pouvez également utiliser la méthode Deactivate pour libérer le contexte de l’objet ou effectuer un autre nettoyage spécifique au contexte. Même si un objet prend en charge le recyclage, il peut être utile de libérer certaines ressources réutilisables dans sa méthode Deactivate . Par exemple, ODBC fournit son propre regroupement de connexions. Il est plus efficace de mettre en pool une connexion de base de données dans un pool de connexions général où d’autres objets peuvent l’utiliser que pour la maintenir liée à un objet spécifique dans un pool d’objets.

COM+ interdit expressément d’appeler dans un objet qui expose IObjectControl après que la méthode de désactivation a été retournée (lorsqu’elle est dans son destructeur). Un tel appel entraînerait une erreur RPC_E_DISCONNECTED. Par exemple, si un objet a transmis une référence à lui-même et qu’il le rappelle après le retour de La désactivation , une erreur déconnectée se produit.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête comsvcs.h

Voir aussi

IObjectControl