CoEnterServiceDomain, fonction (comsvcs.h)
Permet d’entrer du code qui peut ensuite utiliser les services COM+.
Syntaxe
HRESULT CoEnterServiceDomain(
[in] IUnknown *pConfigObject
);
Paramètres
[in] pConfigObject
Pointeur vers l’interface IUnknown de l’objet, créée à partir de la classe CServiceConfig , qui contient les informations de configuration des services à utiliser dans le code inclus.
Valeur retournée
Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et E_FAIL, ainsi que les valeurs suivantes.
Code de retour | Description |
---|---|
|
La commande s'est correctement terminée. |
|
La configuration de l’assembly côte à côte de l’objet CServiceConfig n’est pas valide. |
|
La configuration du pool de threads de l’objet CServiceConfig n’est pas valide. Le modèle d’appartement de threads ne peut pas être reconfiguré en appelant CoEnterServiceDomain. |
|
La configuration du suivi de l’objet CServiceConfig n’est pas valide. |
|
L’appelant ne dispose pas des autorisations d’accès pour la partition COM+. |
Remarques
Le code 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 sur un objet créé dans le contexte. CoEnterServiceDomain ne peut pas basculer vers un autre modèle d’appartement, de sorte que le code placé entre s’exécute dans l’appartement de l’appelant et sur le thread de l’appelant. C’est une erreur que d’essayer de modifier le modèle d’appartement via l’objet CServiceConfig lors de l’appel de CoEnterServiceDomain.
CoEnterServiceDomain crée d’abord un contexte configuré comme spécifié par l’objet CServiceConfig passé en tant que paramètre pConfigObject . Les stratégies côté client et côté serveur sont ensuite déclenchées comme si un appel de méthode avait eu lieu. Le nouveau contexte est ensuite poussé vers une pile de contextes et 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 le faire.
Les paires CoEnterServiceDomain et CoLeaveServiceDomain peuvent être imbriquées.
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 |