IProcessInitializer Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Supports methods that can be called when a COM component starts up or shuts down.
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
- Derived
- Attributes
Remarks
Implement the IProcessInitializer interface methods on serviced components if you want to run initialization or shutdown code when a server process (Dllhost.exe) starts up or shuts down, respectively.
COM+ provides Startup
and Shutdown
events when Dllhost.exe starts and ends. This feature enables any COM+ components that are installed in a COM+ server application (referred to as server components hereafter) to run custom initialization and clean up code. An instance of each component that implements the IProcessInitializer interface will be created and stored for the duration of the process. When implemented on a ServicedComponent, the InitializesServerApplication
parameter in the COMAdminCatalogObject
within the Components collection needs to be set to true
during registration of the component, in order for the interface methods to be called during startup and shutdown.
Using the Startup
and Shutdown
events, you can initialize resources, create connections, initialize shared data, and run cleanup code. However, you must not access states that are specific to COM+ because instances of server components have not yet been created. In addition, the code in the Startup
and Shutdown
events should return as quickly as possible, because the system waits only 90 seconds for Dllhost.exe to prepare to accept activations after the system starts the process. If Dllhost.exe does not signal that it is ready within 90 seconds, the system ends the process; thus, all initialization processing needs to be completed within this time frame. Each server component that participates in initialization must support the IProcessInitializer interface. On DllHost.exe startup, COM+ creates all server components that requested this service, calls QueryInterface
for the IProcessInitializer interface, and calls the Startup function. Similarly, when the DllHost.exe process is shut down, it calls the Shutdown function on those previously stored interface pointers.
Methods
Shutdown() |
Performs shutdown actions. Called when Dllhost.exe is shut down. |
Startup(Object) |
Performs initialization at startup. Called when Dllhost.exe is started. |