coEnterServiceDomain 函式 (comsvcs.h)
用來輸入可接著使用 COM+ 服務的程式代碼。
語法
HRESULT CoEnterServiceDomain(
[in] IUnknown *pConfigObject
);
參數
[in] pConfigObject
從 CServiceConfig 類別建立之物件的 IUnknown 介面指標,其中包含要用於封入程式代碼之服務的組態資訊。
傳回值
這個方法可以傳回標準傳回值E_INVALIDARG、E_OUTOFMEMORY和E_FAIL,以及下列值。
傳回碼 | 描述 |
---|---|
|
已成功完成命令。 |
|
CServiceConfig 物件的並存元件組態無效。 |
|
CServiceConfig 對象的線程集區組態無效。 無法藉由呼叫 CoEnterServiceDomain 重新設定線程 Apartment 模型。 |
|
CServiceConfig 對象的追蹤器組態無效。 |
|
呼叫端沒有 COM+ 分割區的訪問許可權。 |
備註
在 呼叫 CoEnterServiceDomain 和 CoLeaveServiceDomain 之間所括住的程式代碼會在自己的內容中執行,其行為就像是在內容中建立的物件上呼叫的方法一樣。 CoEnterServiceDomain 無法切換至不同的 Apartment 模型,因此封入的程式代碼會在呼叫端的 Apartment 和呼叫端的線程上執行。 呼叫 CoEnterServiceDomain 時,嘗試透過 CServiceConfig 物件變更 Apartment 模型是錯誤的。
CoEnterServiceDomain 會先建立以 pConfigObject 參數傳遞的 CServiceConfig 物件所指定的內容。 接著會觸發用戶端和伺服器端的原則,就像發生方法呼叫一樣。 新的內容接著會推送至內容堆疊,並成為目前的內容。
由於其設計有效率,而且未涉及線程封送處理,因此使用 CoEnterServiceDomain 和 CoLeaveServiceDomain 會大幅降低額外負荷,相較於對等的方法呼叫。
CoEnterServiceDomain 和 CoLeaveServiceDomain 在應用程式中特別有用,這些函式可用來存取 COM+ 服務,而不需要建立元件來執行此動作。
CoEnterServiceDomain 和 CoLeaveServiceDomain 配對可以巢狀化。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | comsvcs.h |
程式庫 | ComSvcs.lib |
Dll | ComSvcs.dll |