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 необходимо выполнить, чтобы очистить все.