(comsvcs.h) IObjectControl::D eactivate 方法
可讓 COM+ 物件在回收或終結之前執行必要的清除。
每當停用物件時,COM+ 運行時間環境就會呼叫這個方法。 請勿從這個方法對相同活動中的物件進行任何方法呼叫。
Syntax
void Deactivate();
傳回值
無
備註
每當停用支援 IObjectControl 介面的物件時,COM+ 運行時間環境就會呼叫 Deactivate 方法。 當物件從呼叫 SetComplete 或 SetAbort 的方法傳回時、認可或中止其執行的交易,或當最後一個用戶端在物件上保留參考時,就會停用物件。
如果元件支援回收 (從 CanBePooled 方法傳回 TRUE) ,您必須使用 Deactivate 方法,將物件的狀態重設為 Activate 方法預期找到的狀態。 您也可以使用 Deactivate 方法來釋放物件的內容,或執行其他內容特定的清除。 即使物件支援回收,在 Deactivate 方法中釋放某些可重複使用的資源可能很有説明。 例如,ODBC 提供自己的連線共用。 將資料庫連接集區集在一般連接集區中更有效率,其中其他物件可以使用它,而不是將它系結至物件集區中的特定物件。
COM+ 明確禁止呼叫物件,該物件會在停用方法在解構函式) 傳回 (之後公開 IObjectControl 。 這類呼叫會導致RPC_E_DISCONNECTED錯誤。 例如,如果對象已傳回本身的參考,然後在 Deactivate 傳回之後回呼物件,則會導致中斷連線的錯誤。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | comsvcs.h |