通过 CoCreateActivity 使用 COM+ 服务

CoCreateActivity 函数用于将批处理工作提交到 COM+ 系统。 它允许基于脚本的应用程序支持应用程序范围的 COM+ 服务配置。

所需的 COM+ 服务可通过传递给函数的 CServiceConfig 对象配置。 该函数会创建一个活动对象并返回该对象的 IServiceActivity 接口。 可以相应使用 IServiceActivitySynchronousCallAsynchronousCall 方法,以同步或异步方式提交批处理工作。 会将指向 IServiceCall 接口的指针传入其中每个方法,并且开发人员将在 IServiceCall 接口的 OnCall 方法中实现批处理工作。

组件服务管理工具

不应用。

Visual Basic

不应用。

C/C++

以下代码片段演示如何通过 CoCreateActivity 使用 COM+ 服务。 为简洁起见,省略了错误处理。 此代码片段使用在使用 CServiceConfig 配置 COM+ 服务中创建和配置的 CServiceConfig 对象。

// A CServiceConfig object was created as follows:
// hr = CoCreateInstance(CLSID_CServiceConfig, NULL, CLSCTX_INPROC_SERVER,
//   IID_IUnknown, (void**)&pUnknownCSC);

// Create the activity for our services.
HRESULT hr = CoCreateActivity(pUnknownCSC, IID_IServiceActivity, (void**)&pActivity);
if (FAILED(hr)) throw(hr);

// Do the batch work synchronously.
// The batch work is implemented in pServiceCall->OnCall().
hr = pActivity->SynchronousCall(pServiceCall);
if (FAILED(hr)) throw(hr);

CoCreateActivity

使用 CServiceConfig 配置 COM+ 服务

CServiceConfig

通过 CoEnterServiceDomain 和 CoLeaveServiceDomain 使用 COM+ 服务