Marshal.AreComObjectsAvailableForCleanup Yöntem

Tanım

Herhangi bir bağlamdan çalışma zamanı çağrılabilen sarmalayıcıların (RCW) temizleme için kullanılabilir olup olmadığını gösterir.

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

Döndürülenler

true temizleme için kullanılabilecek RW'ler varsa; aksi takdirde , false.

Öznitelikler

Açıklamalar

Derin bağımlılık grafikleri olan yönetilen ve yerel kod arasında çok fazla başvuru varsa, tüm nesnelerin temizlenmesi uzun sürebilir. GC her çalıştırıldığında, bazı sayıda RCW boşaltılır ve bu da temel alınan COM nesnelerini serbest bırakır. Bu COM nesneleri daha sonra yönetilen başvurularını serbest bırakır ve gc bir sonraki çalıştırıldığında temizleme için daha fazla nesne kullanılabilir hale getirir ve bu da işlemi yeniden başlatır.

yöntemi, AreComObjectsAvailableForCleanup uygulamanın kaç GC döngüsü olduğunu belirlemesi için bir yol sağlar. Collect ve GC. Her şeyi temizlemek için WaitForPendingFinalizers'ın gerçekleşmesi gerekir.

Şunlara uygulanır