Partager via


CoLeaveServiceDomain, fonction (comsvcs.h)

Utilisé pour laisser du code qui utilise les services COM+.

Syntaxe

void CoLeaveServiceDomain(
  [in] IUnknown *pUnkStatus
);

Paramètres

[in] pUnkStatus

Si vous souhaitez connaître le status de la transaction terminée par l’appel, il doit s’agir d’un pointeur vers l’interface IUnknown d’un objet qui implémente l’interface ITransactionStatus. Si le code placé n’a pas utilisé de transactions ou si vous n’avez pas besoin de connaître la transaction status, ce paramètre doit avoir la valeur NULL. Ce paramètre est ignoré s’il n’est pas NULL et si aucune transaction n’a été utilisée dans le domaine de service.

Valeur de retour

None

Remarques

Le code qui est placé entre les appels à CoEnterServiceDomain et CoLeaveServiceDomain s’exécute dans son propre contexte et se comporte comme s’il s’agissait d’une méthode appelée à partir d’un objet créé dans le contexte.

CoLeaveServiceDomain déclenche le serveur, puis les stratégies côté client comme si un appel de méthode était retourné. Le contexte actuel est ensuite extrait de la pile de contexte, et le contexte qui s’exécutait lorsque CoEnterServiceDomain a été appelé devient le contexte actuel.

En raison de leur conception efficace et de l’absence de marshaling de threads, l’utilisation de CoEnterServiceDomain et CoLeaveServiceDomain implique une réduction significative de la surcharge par rapport à un appel de méthode équivalent.

CoEnterServiceDomain et CoLeaveServiceDomain sont particulièrement utiles dans les applications, qui peuvent utiliser ces fonctions pour accéder aux services COM+ sans avoir à créer un composant pour ce faire.

Les paires CoEnterServiceDomain et CoLeaveServiceDomain peuvent être imbriquées. Il incombe à l’utilisateur de s’assurer que les paires d’appels sont équilibrées afin que chaque appel à CoLeaveServiceDomain corresponde à un appel précédent à CoEnterServiceDomain.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête comsvcs.h
Bibliothèque ComSvcs.lib
DLL ComSvcs.dll

Voir aussi

Services COM+ sans composants

CServiceConfig

CoCréateActivity

CoEnterServiceDomain