共用方式為


coEnterServiceDomain 函式 (comsvcs.h)

用來輸入可接著使用 COM+ 服務的程式代碼。

語法

HRESULT CoEnterServiceDomain(
  [in] IUnknown *pConfigObject
);

參數

[in] pConfigObject

CServiceConfig 類別建立之物件的 IUnknown 介面指標,其中包含要用於封入程式代碼之服務的組態資訊。

傳回值

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

傳回碼 描述
S_OK
已成功完成命令。
CO_E_SXS_CONFIG
CServiceConfig 物件的並存元件組態無效。
CO_E_THREADPOOL_CONFIG
CServiceConfig 對象的線程集區組態無效。 無法藉由呼叫 CoEnterServiceDomain 重新設定線程 Apartment 模型。
CO_E_TRACKER_CONFIG
CServiceConfig 對象的追蹤器組態無效。
COMADMIN_E_PARTITION_ACCESSDENIED
呼叫端沒有 COM+ 分割區的訪問許可權。

備註

呼叫 CoEnterServiceDomainCoLeaveServiceDomain 之間所括住的程式代碼會在自己的內容中執行,其行為就像是在內容中建立的物件上呼叫的方法一樣。 CoEnterServiceDomain 無法切換至不同的 Apartment 模型,因此封入的程式代碼會在呼叫端的 Apartment 和呼叫端的線程上執行。 呼叫 CoEnterServiceDomain 時,嘗試透過 CServiceConfig 物件變更 Apartment 模型是錯誤的。

CoEnterServiceDomain 會先建立以 pConfigObject 參數傳遞的 CServiceConfig 物件所指定的內容。 接著會觸發用戶端和伺服器端的原則,就像發生方法呼叫一樣。 新的內容接著會推送至內容堆疊,並成為目前的內容。

由於其設計有效率,而且未涉及線程封送處理,因此使用 CoEnterServiceDomainCoLeaveServiceDomain 會大幅降低額外負荷,相較於對等的方法呼叫。

CoEnterServiceDomainCoLeaveServiceDomain 在應用程式中特別有用,這些函式可用來存取 COM+ 服務,而不需要建立元件來執行此動作。

CoEnterServiceDomainCoLeaveServiceDomain 配對可以巢狀化。

規格需求

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

另請參閱

不含元件的 COM+ 服務

CServiceConfig

CoCreateActivity

CoLeaveServiceDomain