共用方式為


coCreateActivity 函式 (comsvcs.h)

建立活動來執行可以使用 COM+ 服務的同步或非同步 (Asynchronous) 批次工作,而不需建立 COM+ 元件。

語法

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

參數

[in] pIUnknown

CServiceConfig 類別建立之物件的 IUnknown 介面指標,其中包含 CoCreateActivity 所建立之活動內要使用的服務組態資訊。

[in] riid

要透過 ppObj 參數傳回之介面的標識碼。 此參數應該一律IID_IServiceActivity,以便傳回 IServiceActivity 的指標。

[out] ppObj

活動物件的介面指標。 活動物件是由 呼叫 CoCreateActivity 自動建立。

傳回值

這個方法可以傳回標準傳回值E_INVALIDARG、E_OUTOFMEMORY和E_FAIL,以及下列值。

傳回碼 描述
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 提交的批次工作可以是同步或異步的,而且可以在單線程 Apartment (STA) 或多線程 Apartment (MTA) 中執行。 使用的線程模型是由透過 pIUnknown 參數傳遞之 CServiceConfig 物件的 IServiceThreadPoolConfig 介面所決定。

CoCreateActivity 會傳回呼叫 CoCreateActivity 所建立之物件的 IServiceActivity 介面指標。 藉由使用 IServiceActivity 的方法,您可以判斷批次工作是以同步或異步方式完成。 批次工作本身是透過 IServiceCall 介面實作。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 comsvcs.h
程式庫 ComSvcs.lib
Dll ComSvcs.dll

另請參閱

不含元件的 COM+ 服務

CServiceConfig

CoEnterServiceDomain

CoLeaveServiceDomain

IServiceActivity

IServiceCall