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