Marshal.AreComObjectsAvailableForCleanup Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Indica se RCWs (Runtime Callable Wrappers) de qualquer contexto estão disponíveis para limpeza.
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
Retornos
true
se houver algum RCW disponível para limpeza; caso contrário, false
.
- Atributos
Comentários
Se houver muitas referências entre código gerenciado e nativo com grafos de dependência profundos, pode levar muito tempo para que todos os objetos sejam limpos. Sempre que um GC for executado, ele liberará alguns RCWs, o que, por sua vez, liberará os objetos COM subjacentes. Esses objetos COM liberarão suas referências gerenciadas e disponibilizarão mais objetos para limpeza na próxima vez que um GC for executado, o que iniciará o processo novamente.
O AreComObjectsAvailableForCleanup método fornece uma maneira de o aplicativo determinar quantos ciclos de GC. Coletar e GC. WaitForPendingFinalizers precisa acontecer para limpar tudo.