CoEnterServiceDomain 함수(comsvcs.h)

COM+ 서비스를 사용할 수 있는 코드를 입력하는 데 사용됩니다.

구문

HRESULT CoEnterServiceDomain(
  [in] IUnknown *pConfigObject
);

매개 변수

[in] pConfigObject

CServiceConfig 클래스에서 만든 개체의 IUnknown 인터페이스에 대한 포인터로, 묶인 코드 내에서 사용할 서비스에 대한 구성 정보를 포함합니다.

반환 값

이 메서드는 다음 값뿐만 아니라 E_INVALIDARG, E_OUTOFMEMORY 및 E_FAIL 표준 반환 값을 반환할 수 있습니다.

반환 코드 Description
S_OK
메서드가 완료되었습니다.
CO_E_SXS_CONFIG
CServiceConfig 개체의 병렬 어셈블리 구성이 잘못되었습니다.
CO_E_THREADPOOL_CONFIG
CServiceConfig 개체의 스레드 풀 구성이 잘못되었습니다. CoEnterServiceDomain을 호출하여 스레드 아파트 모델을 다시 구성할 수 없습니다.
CO_E_TRACKER_CONFIG
CServiceConfig 개체의 추적기 구성이 잘못되었습니다.
COMADMIN_E_PARTITION_ACCESSDENIED
호출자에게 COM+ 파티션에 대한 액세스 권한이 없습니다.

설명

CoEnterServiceDomainCoLeaveServiceDomain 호출 사이에 묶인 코드는 자체 컨텍스트에서 실행되며 컨텍스트 내에서 생성된 개체에서 호출되는 메서드처럼 동작합니다. CoEnterServiceDomain 은 다른 아파트 모델로 전환할 수 없으므로 묶인 코드는 호출자의 아파트와 호출자의 스레드에서 실행됩니다. CoEnterServiceDomain을 호출할 때 CServiceConfig 개체를 통해 아파트 모델을 변경하려고 하면 오류가 발생합니다.

CoEnterServiceDomain은 먼저 pConfigObject 매개 변수로 전달되는 CServiceConfig 개체에 지정된 대로 구성된 컨텍스트를 만듭니다. 클라이언트와 서버 양쪽 정책은 다음 메서드 호출이 발생 하는 경우에 따라 트리거됩니다. 새 컨텍스트가 컨텍스트 스택에 밀어넣습니다 및 현재 컨텍스트가 됩니다.

효율적인 디자인과 스레드 마샬링이 포함되지 않으므로 CoEnterServiceDomainCoLeaveServiceDomain 을 사용하면 동일한 메서드 호출에 비해 오버헤드가 크게 줄어듭니다.

CoEnterServiceDomainCoLeaveServiceDomain 은 이러한 함수를 사용하여 구성 요소를 만들지 않고도 COM+ 서비스에 액세스할 수 있는 애플리케이션에서 특히 유용합니다.

CoEnterServiceDomainCoLeaveServiceDomain 쌍을 중첩할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 comsvcs.h
라이브러리 ComSvcs.lib
DLL ComSvcs.dll

추가 정보

구성 요소가 없는 COM+ 서비스

CServiceConfig

CoCreateActivity

CoLeaveServiceDomain