共用方式為


(comsvcs.h) IObjectControl::D eactivate 方法

可讓 COM+ 物件在回收或終結之前執行必要的清除。

每當停用物件時,COM+ 運行時間環境就會呼叫這個方法。 請勿從這個方法對相同活動中的物件進行任何方法呼叫。

Syntax

void Deactivate();

傳回值

備註

每當停用支援 IObjectControl 介面的物件時,COM+ 運行時間環境就會呼叫 Deactivate 方法。 當物件從呼叫 SetCompleteSetAbort 的方法傳回時、認可或中止其執行的交易,或當最後一個用戶端在物件上保留參考時,就會停用物件。

如果元件支援回收 (從 CanBePooled 方法傳回 TRUE) ,您必須使用 Deactivate 方法,將物件的狀態重設為 Activate 方法預期找到的狀態。 您也可以使用 Deactivate 方法來釋放物件的內容,或執行其他內容特定的清除。 即使物件支援回收,在 Deactivate 方法中釋放某些可重複使用的資源可能很有説明。 例如,ODBC 提供自己的連線共用。 將資料庫連接集區集在一般連接集區中更有效率,其中其他物件可以使用它,而不是將它系結至物件集區中的特定物件。

COM+ 明確禁止呼叫物件,該物件會在停用方法在解構函式) 傳回 (之後公開 IObjectControl 。 這類呼叫會導致RPC_E_DISCONNECTED錯誤。 例如,如果對象已傳回本身的參考,然後在 Deactivate 傳回之後回呼物件,則會導致中斷連線的錯誤。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 comsvcs.h

另請參閱

IObjectControl