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 Если для очистки доступны какие-либо RCW; falseв противном случае .
- Атрибуты
Комментарии
Если существует много ссылок между управляемым и машинным кодом с глубокими графами зависимостей, это может занять много времени для очистки всех объектов. Каждый раз при запуске GC он освобождает некоторое количество RCW, что, в свою очередь, освобождает базовые COM-объекты. Затем эти COM-объекты будут выпускать управляемые ссылки и сделать больше объектов доступными для очистки при следующем запуске GC, который запускает процесс снова.
Этот AreComObjectsAvailableForCleanup метод позволяет приложению определить, сколько циклов GC. Сбор и сборка сборок. WaitForPendingFinalizers необходимо выполнить, чтобы очистить все.