Share via


CoLeaveServiceDomain-Funktion (comsvcs.h)

Wird verwendet, um Code zu belassen, der COM+-Dienste verwendet.

Syntax

void CoLeaveServiceDomain(
  [in] IUnknown *pUnkStatus
);

Parameter

[in] pUnkStatus

Wenn Sie die status der Transaktion kennen möchten, die durch den Aufruf abgeschlossen wird, muss dies ein Zeiger auf die IUnknown-Schnittstelle eines Objekts sein, das die ITransactionStatus-Schnittstelle implementiert. Wenn der eingeschlossene Code keine Transaktionen verwendet hat oder Sie die Transaktion status nicht kennen müssen, sollte dieser Parameter NULL sein. Dieser Parameter wird ignoriert, wenn er nicht NULL ist und keine Transaktionen in der Dienstdomäne verwendet wurden.

Rückgabewert

Keine

Bemerkungen

Code, der zwischen Aufrufen von CoEnterServiceDomain und CoLeaveServiceDomain eingeschlossen ist, wird in einem eigenen Kontext ausgeführt und verhält sich so, als wäre es eine Methode, die von einem innerhalb des Kontexts erstellten Objekt aufgerufen wird.

CoLeaveServiceDomain löst den Server und dann die clientseitigen Richtlinien aus, als ob ein Methodenaufruf zurückgegeben würde. Der aktuelle Kontext wird dann aus dem Kontextstapel geknallt, und der Kontext, der beim Aufrufen von CoEnterServiceDomain ausgeführt wurde, wird zum aktuellen Kontext.

Aufgrund ihres effizienten Entwurfs und weil kein Threadmarshalling erforderlich ist, ist die Verwendung von CoEnterServiceDomain und CoLeaveServiceDomain im Vergleich zu einem äquivalenten Methodenaufruf deutlich geringer.

CoEnterServiceDomain und CoLeaveServiceDomain sind besonders nützlich in Anwendungen, die diese Funktionen verwenden können, um auf COM+-Dienste zuzugreifen, ohne dafür eine Komponente erstellen zu müssen.

Die Paare CoEnterServiceDomain und CoLeaveServiceDomain können geschachtelt werden. Der Benutzer muss sicherstellen, dass die Aufrufpaare ausgeglichen sind, sodass jeder Aufruf von CoLeaveServiceDomain mit einem vorherigen Aufruf von CoEnterServiceDomain übereinstimmt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile comsvcs.h
Bibliothek ComSvcs.lib
DLL ComSvcs.dll

Weitere Informationen

COM+-Dienste ohne Komponenten

CServiceConfig

CoCreateActivity

CoEnterServiceDomain