Thread.DisableComObjectEagerCleanup メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のスレッドのランタイム呼び出し可能ラッパー (RCW) の自動クリーンアップをオフにします。
public:
void DisableComObjectEagerCleanup();
[System.Security.SecurityCritical]
public void DisableComObjectEagerCleanup();
public void DisableComObjectEagerCleanup();
[<System.Security.SecurityCritical>]
member this.DisableComObjectEagerCleanup : unit -> unit
member this.DisableComObjectEagerCleanup : unit -> unit
Public Sub DisableComObjectEagerCleanup ()
- 属性
注釈
既定では、共通言語ランタイム (CLR) はランタイム呼び出し可能ラッパーを自動的にクリーンアップします。 CLR はクリーンアップ中にメッセージをポンプします。これにより、次の異常な条件を満たすいくつかのアプリケーションで再入の問題が発生する可能性があります。
アプリケーションは、独自のメッセージ ポンプを実行します。
アプリケーションは、メッセージ ポンプが発生したときに正確に制御する必要があります。
このようなアプリケーションでは、 DisableComObjectEagerCleanup メソッドを使用して、CLR がランタイム呼び出し可能ラッパーの自動再利用を実行できないようにすることができます。
スレッドでこのメソッドが呼び出された場合、そのスレッドに対して自動クリーンアップを再度有効にすることはできません。 アプリケーションでランタイム呼び出し可能ラッパーをクリーンアップする準備ができたら、 Marshal.CleanupUnusedObjectsInCurrentContext メソッドを使用して、現在のコンテキスト内のすべてのランタイム呼び出し可能ラッパーをクリーンアップするようにランタイムに指示します。 メッセージ ポンプは、メソッドの実行中に発生します。