Функция 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 |