Partager via


ObjectControl ::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 pas d’appels de méthode sur des objets de la même activité à partir de cette méthode.

Syntaxe

HRESULT Deactivate();

Valeur de retour

Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED, E_FAIL et S_OK.

Remarques

L’environnement d’exécution COM+ appelle la méthode Deactivate chaque fois qu’un objet qui prend en charge l’interface ObjectControl est désactivé. Un objet est désactivé lorsqu’il retourne une méthode dans laquelle la méthode appelée SetComplete ou SetAbort, lorsque la transaction dans laquelle il s’exécute 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établir 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 pour 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 l’appel à un objet qui expose ObjectControl une fois que la méthode Deactivate a retourné (lorsqu’elle se trouve 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, puis 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

ObjectControl