Поделиться через


Marshal.AreComObjectsAvailableForCleanup Метод

Определение

Указывает, доступны ли для очистки вызываемые оболочки времени выполнения (RCW) из какого-либо контекста.

public:
 static bool AreComObjectsAvailableForCleanup();
[System.Security.SecurityCritical]
public static bool AreComObjectsAvailableForCleanup ();
public static bool AreComObjectsAvailableForCleanup ();
[<System.Security.SecurityCritical>]
static member AreComObjectsAvailableForCleanup : unit -> bool
static member AreComObjectsAvailableForCleanup : unit -> bool
Public Shared Function AreComObjectsAvailableForCleanup () As Boolean

Возвращаемое значение

Значение true, если есть доступные для очистки вызываемые оболочки времени выполнения; в противном случае — значение false.

Атрибуты

Комментарии

При наличии большого количества ссылок между управляемым и машинным кодом с графами глубоких зависимостей очистка всех объектов может занять много времени. При каждом запуске сборки мусора он освобождает некоторое количество RCW, что, в свою очередь, освобождает базовые COM-объекты. Затем эти COM-объекты отпустят свои управляемые ссылки и сделают дополнительные объекты доступными для очистки при следующем запуске сборки мусора, который запускает процесс заново.

Метод AreComObjectsAvailableForCleanup предоставляет приложению способ определить, сколько циклов сборки мусора. Сбор и сборка мусора. WaitForPendingFinalizers необходимо выполнить, чтобы очистить все.

Применяется к