Funzione CoLeaveServiceDomain (comsvcs.h)

Usato per lasciare il codice che usa i servizi COM+.

Sintassi

void CoLeaveServiceDomain(
  [in] IUnknown *pUnkStatus
);

Parametri

[in] pUnkStatus

Se si vuole conoscere lo stato della transazione completata dalla chiamata, questo deve essere un puntatore all'interfaccia IUnknown di un oggetto che implementa l'interfaccia ITransactionStatus . Se il codice racchiuso non usa transazioni o se non è necessario conoscere lo stato della transazione, questo parametro deve essere NULL. Questo parametro viene ignorato se non è NULL e se non sono state usate transazioni nel dominio del servizio.

Valore restituito

nessuno

Osservazioni

Il codice racchiuso tra le chiamate a CoEnterServiceDomain e CoLeaveServiceDomain viene eseguito nel proprio contesto e si comporta come se fosse un metodo chiamato da un oggetto creato all'interno del contesto.

CoLeaveServiceDomain attiva il server e quindi i criteri lato client come se una chiamata al metodo fosse restituita. Il contesto corrente viene quindi visualizzato dallo stack di contesto e il contesto in esecuzione quando è stato chiamato CoEnterServiceDomain diventa il contesto corrente.

A causa della progettazione efficiente e perché non è coinvolto alcun marshalling thread, l'uso di CoEnterServiceDomain e CoLeaveServiceDomain comporta un sovraccarico significativo rispetto a una chiamata di 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 a tale scopo.

È possibile annidare le coppie CoEnterServiceDomain e CoLeaveServiceDomain. L'utente deve assicurarsi che le coppie di chiamate siano bilanciate in modo che ogni chiamata a CoLeaveServiceDomain corrisponda a una chiamata precedente a CoEnterServiceDomain.

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

Vedi anche

Servizi COM+ senza componenti

CServiceConfig

CoCreateActivity

CoEnterServiceDomain