IObjectControl::Activate 方法 (comsvcs.h)
可讓 COM+ 對象在啟用時執行內容特定的初始化。 在物件上呼叫任何其他方法之前,COM+ 運行時間環境會呼叫這個方法。
Syntax
HRESULT Activate();
傳回值
這個方法可以傳回標準傳回值E_INVALIDARG、E_OUTOFMEMORY、E_UNEXPECTED、E_FAIL和S_OK。
備註
每當用戶端呼叫尚未使用中的 COM+ 物件時,COM+ 執行時間環境會自動啟動物件。 這稱為 Just-In-Time 啟用。 對於支援 IObjectControl 做為介面的元件,COM+ 會先叫用物件的 Activate 方法,再將用戶端的方法呼叫傳遞給物件。
對於公開 IObjectControl 的物件,應該在 Activate 方法中實作任何內容特定的初始化程式。
例如,您可以使用 Activate 方法來取得物件內容的參考,並將其儲存在成員變數中。 然後,對象內容可供任何需要它的方法使用,而且您不需要每次想要使用它時取得新的對象內容。 取得對象內容的參考之後,您可以使用 IObjectControl 方法來檢查安全性是否已啟用、物件是在交易中執行,還是呼叫端是否處於特定角色。
如果您要藉由實作 CanBePooled 方法來查詢物件) 來啟用物件回收 (,Activate 方法必須能夠處理新建立和回收的物件。 當 Activate 方法傳回時,新物件與回收對象之間不應該有區別的差異。
COM+ 明確禁止呼叫公開 IObjectControl 的物件,再呼叫 Activate 方法 (其建構函式) 。 這類呼叫會導致RPC_E_DISCONNECTED錯誤。 例如,如果物件在其建構函式中傳回本身的參考,然後在呼叫 Activate 之前,參考會回呼至該物件,則會傳回中斷連線的錯誤。
您也可以使用 Activate 方法來取得物件的 ISecurityProperty 介面參考,並在呼叫任何方法之前檢查物件建立者的安全性標識碼。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | comsvcs.h |