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) 启动或关闭时运行初始化或关闭代码,请在服务组件上实现接口方法。

COM+ 在 Dllhost.exe 开始和结束时提供 StartupShutdown 和 事件。 此功能使 COM+ 服务器应用程序中安装的任何 COM+ 组件 (在此之后称为服务器组件) 运行自定义初始化和清理代码。 在进程期间,将创建并存储实现 IProcessInitializer 接口的每个组件的实例。 在 上 ServicedComponent实现时, InitializesServerApplication 需要在注册组件期间将 Components 集合中的 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 时被调用。

适用于