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
派生
属性

注釈

サーバー プロセス (Dllhost.exe) の起動時またはシャットダウン時に初期化またはシャットダウンコードを実行する場合は、サービスコンポーネントに IProcessInitializer インターフェイス メソッドを実装します。

COM+ では、Dllhost.exe の開始と終了時に Startup イベントと Shutdown イベントが提供されます。 この機能により、COM+ サーバー アプリケーション (以降はサーバー コンポーネントと呼ばれます) にインストールされている COM+ コンポーネントは、カスタム初期化を実行し、コードをクリーンアップできます。 IProcessInitializer インターフェイスを実装する各コンポーネントのインスタンスが作成され、プロセスの間保存されます。 ServicedComponentに実装する場合、コンポーネントの登録時に、起動およびシャットダウン時にインターフェイス メソッドを呼び出すには、Components コレクション内のInitializesServerApplicationCOMAdminCatalogObject パラメーターをtrueに設定する必要があります。

StartupイベントとShutdownイベントを使用すると、リソースの初期化、接続の作成、共有データの初期化、クリーンアップ コードの実行を行うことができます。 ただし、サーバー コンポーネントのインスタンスがまだ作成されていないため、COM+ に固有の状態にはアクセスしないでください。 さらに、 Startup イベントと Shutdown イベント内のコードは、システムがプロセスを開始した後にアクティブ化を受け入れる準備を Dllhost.exe が 90 秒しか待たないため、できるだけ早く戻る必要があります。 Dllhost.exe が 90 秒以内に準備ができていることを通知しない場合、システムはプロセスを終了します。したがって、この期間内にすべての初期化処理を完了する必要があります。 初期化に参加する各サーバー コンポーネントは、 IProcessInitializer インターフェイスをサポートする必要があります。 DllHost.exe 起動時に、COM+ は、このサービスを要求したすべてのサーバー コンポーネントを作成し、QueryInterface インターフェイスのIProcessInitializerを呼び出し、Startup関数を呼び出します。 同様に、DllHost.exe プロセスがシャットダウンされると、以前に格納されたインターフェイス ポインターに対して Shutdown 関数が呼び出されます。

メソッド

名前 説明
Shutdown()

シャットダウン 操作を実行します。 Dllhost.exe がシャットダウンされたときに呼び出されます。

Startup(Object)

起動時に初期化を実行します。 Dllhost.exe の起動時に呼び出されます。

適用対象