Функция CoCreateActivity (comsvcs.h)
Создает действие синхронной или асинхронной пакетной работы, которое может использовать службы COM+ без необходимости создания компонента COM+.
Синтаксис
HRESULT CoCreateActivity(
[in] IUnknown *pIUnknown,
[in] REFIID riid,
[out] void **ppObj
);
Параметры
[in] pIUnknown
Указатель на интерфейс IUnknown объекта, созданного из класса CServiceConfig , который содержит сведения о конфигурации служб, которые будут использоваться в действии, созданном CoCreateActivity.
[in] riid
Идентификатор интерфейса, возвращаемого с помощью параметра ppObj . Этот параметр всегда должен быть IID_IServiceActivity, чтобы возвращался указатель на IServiceActivity .
[out] ppObj
Указатель на интерфейс объекта действия. Объект действия автоматически создается при вызове CoCreateActivity.
Возвращаемое значение
Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY и E_FAIL, а также следующие значения.
Код возврата | Описание |
---|---|
|
Метод завершился успешно. |
|
Недопустимая конфигурация параллельной сборки объекта CServiceConfig . |
|
Недопустимая конфигурация пула потоков объекта CServiceConfig . |
|
Недопустимая конфигурация средства отслеживания объекта CServiceConfig . |
|
Вызывающий объект не имеет разрешений на доступ к разделу COM+. |
Комментарии
CoCreateActivity создает объект действия, который используется для отправки пакетной работы в систему COM+. Контекст, связанный с действием, полностью определяется объектом CServiceConfig , передаваемым через параметр pIUnknown .
CoCreateActivity позволяет приложениям использовать службы COM+ в пакетной работе без необходимости создавать компонент для использования этих служб. Помимо снижения затрат, не требуя создания компонента, использование CoCreateActivity обеспечивает более эффективную среду выполнения, так как позволяет среде поддерживать конфигурацию службы на уровне приложения без доступа к информации, хранящейся в базе данных регистрации COM+ (RegDB).
Пакетная работа, отправленная через CoCreateActivity , может быть синхронной или асинхронной и выполняться в однопотоковом объекте (STA) или многопоточном (MTA). Используемая потоковая модель определяется интерфейсом IServiceThreadPoolConfig объекта CServiceConfig , который передается через параметр pIUnknown .
CoCreateActivity возвращает указатель на интерфейс IServiceActivity объекта, созданного при вызове CoCreateActivity. С помощью методов IServiceActivity вы определяете, выполняется ли пакетная работа синхронно или асинхронно. Сама пакетная работа реализуется через интерфейс IServiceCall .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |
Библиотека | ComSvcs.lib |
DLL | ComSvcs.dll |