Функция CoLeaveServiceDomain (comsvcs.h)

Используется для выхода из кода, использующего службы COM+.

Синтаксис

void CoLeaveServiceDomain(
  [in] IUnknown *pUnkStatus
);

Параметры

[in] pUnkStatus

Если вы хотите узнать состояние транзакции, завершенной вызовом , это должен быть указатель на интерфейс IUnknown объекта, реализующего интерфейс ITransactionStatus . Если вложенный код не использовал транзакции или вам не нужно знать состояние транзакции, этот параметр должен иметь значение NULL. Этот параметр игнорируется, если он не равен NULL и если в домене службы не использовались транзакции.

Возвращаемое значение

None

Remarks

Код, заключенный между вызовами CoEnterServiceDomain и CoLeaveServiceDomain , выполняется в собственном контексте и ведет себя так, как если бы это был метод, вызываемый из объекта, созданного в контексте.

CoLeaveServiceDomain активирует сервер, а затем политики на стороне клиента, как если бы возвращался вызов метода. Затем текущий контекст вытаскивается из стека контекста, а контекст, который выполнялся при вызове CoEnterServiceDomain , становится текущим контекстом.

Из-за их эффективной структуры и отсутствия маршалинга потоков использование CoEnterServiceDomain и CoLeaveServiceDomain предполагает значительно меньше затрат по сравнению с эквивалентным вызовом метода.

CoEnterServiceDomain и CoLeaveServiceDomain особенно полезны в приложениях, которые могут использовать эти функции для доступа к службам COM+, не создавая для этого компонент.

Пары CoEnterServiceDomain и CoLeaveServiceDomain могут быть вложенными. Пользователь гарантирует, что пары вызовов сбалансированы таким образом, чтобы каждый вызов CoLeaveServiceDomain соответствовал предыдущему вызову CoEnterServiceDomain.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header comsvcs.h
Библиотека ComSvcs.lib
DLL ComSvcs.dll

См. также раздел

Службы COM+ без компонентов

CServiceConfig

CoCreateActivity

CoEnterServiceDomain