Muokkaa

Jaa


ICLRAppDomainResourceMonitor::GetCurrentSurvived Method

Gets the number of bytes that survived the last full, blocking garbage collection and that are referenced by the current application domain.

Syntax

HRESULT STDMETHODCALLTYPE GetCurrentSurvived(  
             [in]  DWORD dwAppDomainId,  
             [out] ULONGLONG *pAppDomainBytesSurvived,  
             [out] ULONGLONG *pTotalBytesSurvived);  

Parameters

dwAppDomainId
[in] The ID of the requested application domain.

pAppDomainBytesSurvived
[out] A pointer to the number of bytes that survived after the last garbage collection that are held by this application domain. After a full collection, this number is accurate and complete. After an ephemeral collection, this number is potentially incomplete. This parameter can be null.

pRuntimeBytesSurvived
[out] A pointer to the total number of bytes that survived from the last garbage collection. After a full collection, this number represents the number of the bytes that are held in managed heaps. After an ephemeral collection, this number represents the number of bytes that are held live in ephemeral generations. This parameter can be null.

Return Value

This method returns the following specific HRESULTs as well as HRESULT errors that indicate method failure.

HRESULT Description
S_OK The method completed successfully.
COR_E_APPDOMAINUNLOADED The application domain has been unloaded or does not exist.

Remarks

Statistics are updated only after a full, blocking garbage collection; that is, a collection that includes all generations and that stops the application while collection occurs. For example, the GC.Collect() method overload performs a full, blocking collection. Concurrent garbage collection occurs in the background and does not block the application.

The GetCurrentSurvived method is the unmanaged equivalent of the managed AppDomain.MonitoringSurvivedMemorySize property.

Requirements

Platforms: See System Requirements.

Header: MetaHost.h

Library: Included as a resource in MSCorEE.dll

.NET Framework Versions: Available since 4

See also