IProcessInitializer 介面

定義

支援可在 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 開始和結束時提供 StartupShutdown 事件。 此功能可讓安裝於 COM+ 伺服器應用程式中的任何 COM+ 元件, (之後稱為伺服器元件,) 執行自定義初始化和清除程式碼。 每個實 IProcessInitializer 作 介面的元件實例都會在進程期間建立並儲存。 在上 ServicedComponent實作時, InitializesServerApplication 必須在元件註冊期間將 中的 參數 COMAdminCatalogObject 設定為 true ,才能在啟動和關閉期間呼叫介面方法。

Startup您可以使用和 Shutdown 事件來初始化資源、建立連線、初始化共享數據,以及執行清除程序代碼。 不過,您不得存取 COM+ 特有的狀態,因為尚未建立伺服器元件的實例。 此外,和 Shutdown 事件中的Startup程式代碼應該儘快傳回,因為系統只會等候 90 秒,Dllhost.exe 準備在系統啟動程序之後接受啟用。 如果 Dllhost.exe 未發出在90秒內就緒的訊號,系統會結束程式;因此,所有初始化處理都必須在此時間範圍內完成。 參與初始化的每個伺服器元件都必須支援 IProcessInitializer 介面。 在 DllHost.exe 啟動時,COM+ 會建立要求此服務的所有伺服器元件、呼叫 QueryInterfaceIProcessInitializer 介面,以及呼叫 函 Startup 式。 同樣地,當 DllHost.exe 進程關閉時,它會在先前儲存的介面指標上呼叫 Shutdown 函式。

方法

Shutdown()

執行關閉動作。 在關閉 Dllhost.exe 時呼叫。

Startup(Object)

在啟動時執行初始化。 在啟動 Dllhost.exe 時呼叫。

適用於