IProcessInitializer 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
支援可在 COM 元件啟動或關閉時呼叫的方法。
public interface class IProcessInitializer
[System.Runtime.InteropServices.Guid("1113f52d-dc7f-4943-aed6-88d04027e32a")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IProcessInitializer
[<System.Runtime.InteropServices.Guid("1113f52d-dc7f-4943-aed6-88d04027e32a")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IProcessInitializer = interface
Public Interface IProcessInitializer
- 衍生
- 屬性
備註
IProcessInitializer如果您想要在伺服器進程 (Dllhost.exe) 分別啟動或關閉時執行初始化或關機程式代碼,請在 Serviced 元件上實作介面方法。
COM+ 會在 Dllhost.exe 開始和結束時提供 Startup
和 Shutdown
事件。 此功能可讓安裝於 COM+ 伺服器應用程式中的任何 COM+ 元件, (之後稱為伺服器元件,) 執行自定義初始化和清除程式碼。 每個實 IProcessInitializer 作 介面的元件實例都會在進程期間建立並儲存。 在上 ServicedComponent實作時, InitializesServerApplication
必須在元件註冊期間將 中的 參數 COMAdminCatalogObject
設定為 true
,才能在啟動和關閉期間呼叫介面方法。
Startup
您可以使用和 Shutdown
事件來初始化資源、建立連線、初始化共享數據,以及執行清除程序代碼。 不過,您不得存取 COM+ 特有的狀態,因為尚未建立伺服器元件的實例。 此外,和 Shutdown
事件中的Startup
程式代碼應該儘快傳回,因為系統只會等候 90 秒,Dllhost.exe 準備在系統啟動程序之後接受啟用。 如果 Dllhost.exe 未發出在90秒內就緒的訊號,系統會結束程式;因此,所有初始化處理都必須在此時間範圍內完成。 參與初始化的每個伺服器元件都必須支援 IProcessInitializer 介面。 在 DllHost.exe 啟動時,COM+ 會建立要求此服務的所有伺服器元件、呼叫 QueryInterface
IProcessInitializer 介面,以及呼叫 函 Startup 式。 同樣地,當 DllHost.exe 進程關閉時,它會在先前儲存的介面指標上呼叫 Shutdown 函式。
方法
Shutdown() |
執行關閉動作。 在關閉 Dllhost.exe 時呼叫。 |
Startup(Object) |
在啟動時執行初始化。 在啟動 Dllhost.exe 時呼叫。 |