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,以及下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
CServiceConfig 物件的並存元件組態無效。 |
|
CServiceConfig 對象的線程集區組態無效。 |
|
CServiceConfig 對象的追蹤器組態無效。 |
|
呼叫端沒有 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 |