Thread.DisableComObjectEagerCleanup メソッド

定義

現在のスレッドのランタイム呼び出し可能ラッパー (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 メソッドを使用して、現在のコンテキスト内のすべてのランタイム呼び出し可能ラッパーをクリーンアップするようにランタイムに指示します。 メッセージ ポンプは、メソッドの実行中に発生します。

適用対象