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) の起動時またはシャットダウン時に初期化コードまたはシャットダウン コードを実行する場合は、サービス コンポーネントにインターフェイス メソッドを実装します。
COM+ では、Dllhost.exe の開始と終了時に イベントと イベントが提供Startup
Shutdown
されます。 この機能を使用すると、COM+ サーバー アプリケーション (以降はサーバー コンポーネントと呼ばれます) にインストールされている COM+ コンポーネントで、カスタム初期化を実行し、コードをクリーンできます。 インターフェイスを実装する各コンポーネントの IProcessInitializer インスタンスが作成され、プロセスの間保存されます。 で ServicedComponent実装する場合、 InitializesServerApplication
コンポーネントの登録時に Components コレクション内の パラメーター COMAdminCatalogObject
を に true
設定する必要があります。これは、起動時とシャットダウン時にインターフェイス メソッドを呼び出すために必要です。
イベントと Shutdown
イベントをStartup
使用すると、リソースの初期化、接続の作成、共有データの初期化、クリーンアップ コードの実行を行うことができます。 ただし、サーバー コンポーネントのインスタンスがまだ作成されていないため、COM+ に固有の状態にアクセスすることはできません。 さらに、 イベントと Shutdown
イベントのStartup
コードは、システムがプロセスを開始した後にアクティブ化を受け入れる準備をするために、Dllhost.exe が 90 秒しか待機しないため、できるだけ早く戻る必要があります。 Dllhost.exe が 90 秒以内に準備ができていることを通知しない場合、システムはプロセスを終了します。したがって、この期間内にすべての初期化処理を完了する必要があります。 初期化に参加する各サーバー コンポーネントは、 インターフェイスをサポートする IProcessInitializer 必要があります。 起動時 DllHost.exe、COM+ は、このサービスを要求し、 インターフェイスを呼び出し、 関数をIProcessInitializer呼QueryInterface
び出すすべてのサーバー コンポーネントをStartup作成します。 同様に、DllHost.exe プロセスがシャットダウンされると、以前に格納されていたインターフェイス ポインターで 関数が呼び出 Shutdown されます。
メソッド
Shutdown() |
終了アクションを実行します。 Dllhost.exe の終了時に呼び出されます。 |
Startup(Object) |
起動時の初期化を実行します。 Dllhost.exe の起動時に呼び出されます。 |
適用対象
.NET