Funzione CoEnterServiceDomain (comsvcs.h)
Usato per immettere il codice che può quindi usare i servizi COM+.
Sintassi
HRESULT CoEnterServiceDomain(
[in] IUnknown *pConfigObject
);
Parametri
[in] pConfigObject
Puntatore all'interfaccia IUnknown dell'oggetto, creato dalla classe CServiceConfig , che contiene le informazioni di configurazione per i servizi da usare all'interno del codice racchiuso.
Valore restituito
Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY e E_FAIL, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Metodo completato correttamente. |
|
La configurazione dell'assembly side-by-side dell'oggetto CServiceConfig non è valida. |
|
La configurazione del pool di thread dell'oggetto CServiceConfig non è valida. Il modello apartment del thread non può essere riconfigurato chiamando CoEnterServiceDomain. |
|
La configurazione dello strumento di rilevamento dell'oggetto CServiceConfig non è valida. |
|
Il chiamante non dispone delle autorizzazioni di accesso per la partizione COM+. |
Commenti
Il codice racchiuso tra le chiamate a CoEnterServiceDomain e CoLeaveServiceDomain viene eseguito nel proprio contesto e si comporta come se fosse un metodo chiamato su un oggetto creato all'interno del contesto. CoEnterServiceDomain non può passare a un modello apartment diverso, quindi il codice racchiuso viene eseguito nell'apartment del chiamante e nel thread del chiamante. Si tratta di un errore per provare a modificare il modello apartment tramite l'oggetto CServiceConfig quando si chiama CoEnterServiceDomain.
CoEnterServiceDomain crea innanzitutto un contesto configurato come specificato dall'oggetto CServiceConfig passato come parametro pConfigObject . I criteri sui lati client e server vengono quindi attivati come se si fosse verificata una chiamata al metodo. Il nuovo contesto viene quindi inserito in uno stack di contesto e diventa il contesto corrente.
A causa della progettazione efficiente e perché non è coinvolto alcun marshalling di thread, l'uso di CoEnterServiceDomain e CoLeaveServiceDomain comporta un sovraccarico significativamente ridotto rispetto a una chiamata al metodo equivalente.
CoEnterServiceDomain e CoLeaveServiceDomain sono particolarmente utili nelle applicazioni, che possono usare queste funzioni per accedere ai servizi COM+ senza dover creare un componente per farlo.
È possibile annidare le coppie CoEnterServiceDomain e CoLeaveServiceDomain .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | comsvcs.h |
Libreria | ComSvcs.lib |
DLL | ComSvcs.dll |