Поделиться через


Использование служб COM+ с помощью CoCreateActivity

Функция CoCreateActivity используется для отправки пакетной работы в систему COM+. Он позволяет приложениям на основе скриптов поддерживать конфигурацию службы COM+ на уровне приложений.

Требуемые службы COM+ настраиваются с помощью объекта CServiceConfig , передаваемого в функцию. Функция создает объект действия и возвращает интерфейс IServiceActivity этого объекта. Пакетная работа может быть отправлена синхронно или асинхронно с помощью методов SynchronousCall или АсинхронногоCall в IServiceActivity соответственно. Указатель на интерфейс IServiceCall передается в каждый из этих методов, и пакетная работа реализуется разработчиком в методе OnCall интерфейса IServiceCall.

Средство Администратор istrative Services

Не применяется.

Visual Basic

Не применяется.

C/C++

В следующем фрагменте кода показано, как использовать службы COM+ через CoCreateActivity. Обработка ошибок опущена для краткости. Этот фрагмент кода использует созданный и настроенный объект 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

Настройка служб COM+ с помощью CServiceConfig

CServiceConfig

Использование служб COM+ через CoEnterServiceDomain и CoLeaveServiceDomain