다음을 통해 공유


CoCreateActivity 함수(comsvcs.h)

COM+ 구성 요소를 만들지 않고 COM+ 서비스를 사용할 수 있는 동기 또는 비동기 일괄 작업을 수행하기 위한 작업을 만듭니다.

구문

HRESULT CoCreateActivity(
  [in]  IUnknown *pIUnknown,
  [in]  REFIID   riid,
  [out] void     **ppObj
);

매개 변수

[in] pIUnknown

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

[in] riid

ppObj 매개 변수를 통해 반환할 인터페이스의 ID입니다. IServiceActivity에 대한 포인터가 반환되도록 이 매개 변수는 항상 IID_IServiceActivity 합니다.

[out] ppObj

활동 개체의 인터페이스에 대한 포인터입니다. 활동 개체는 CoCreateActivity 호출에 의해 자동으로 만들어집니다.

반환 값

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

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

설명

CoCreateActivity 는 COM+ 시스템에 일괄 처리 작업을 제출하는 데 사용되는 활동 개체를 만듭니다. 활동과 연결된 컨텍스트는 pIUnknown 매개 변수를 통해 전달되는 CServiceConfig 개체에 의해 완전히 결정됩니다.

CoCreateActivity 를 사용하면 애플리케이션이 해당 서비스를 사용할 구성 요소를 만들지 않고도 일괄 작업에서 COM+ 서비스를 사용할 수 있습니다. 구성 요소를 만들지 않아도 되므로 오버헤드를 줄이는 것 외에도 CoCreateActivity 를 사용하면 환경이 COM+ 등록 데이터베이스(RegDB)에 저장된 정보에 액세스할 필요 없이 애플리케이션 전체 서비스 구성을 지원할 수 있으므로 보다 효율적인 런타임 환경을 제공합니다.

CoCreateActivity를 통해 제출된 일괄 처리 작업은 동기 또는 비동기일 수 있으며 STA(단일 스레드 아파트) 또는 MTA(다중 스레드 아파트)에서 실행할 수 있습니다. 사용되는 스레딩 모델은 pIUnknown 매개 변수를 통해 전달되는 CServiceConfig 개체의 IServiceThreadPoolConfig 인터페이스에 의해 결정됩니다.

CoCreateActivityCoCreateActivity를 호출하여 만든 개체의 IServiceActivity 인터페이스에 대한 포인터를 반환합니다. IServiceActivity의 메서드를 사용하여 일괄 처리 작업이 동기적으로 또는 비동기적으로 수행되는지 여부를 결정합니다. 일괄 처리 작업 자체는 IServiceCall 인터페이스를 통해 구현됩니다.

요구 사항

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

추가 정보

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

CServiceConfig

CoEnterServiceDomain

CoLeaveServiceDomain

IServiceActivity

IServiceCall