通过


ICLRAppDomainResourceMonitor::GetCurrentSurvived 方法

获取在最后一个完整状态中幸存下来的字节数,阻止垃圾回收以及当前应用程序域引用的字节数。

Syntax

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

参数

dwAppDomainId [in]请求的应用程序域的 ID。

pAppDomainBytesSurvived [out]指向此应用程序域保存的最后一个垃圾回收之后幸存的字节数的指针。 完整集合后,此数字准确且完整。 在临时集合之后,此数字可能不完整。 此参数可以为 null

pRuntimeBytesSurvived [out]指向上次垃圾回收中幸存的总字节数的指针。 完整集合后,此数字表示托管堆中保存的字节数。 在临时集合之后,此数字表示临时代中实时保存的字节数。 此参数可以为 null

返回值

此方法返回以下特定的 HRESULT 以及指示方法失败的 HRESULT 错误。

HRESULT 说明
S_OK 该方法已成功完成。
COR_E_APPDOMAINUNLOADED 应用程序域已卸载或不存在。

注解

统计信息仅在完全阻止垃圾回收后更新;也就是说,包含所有代系的集合,并在集合发生时停止应用程序。 例如, GC.Collect() 方法重载执行完整阻止集合。 并发垃圾回收在后台发生,不会阻止应用程序。

该方法 GetCurrentSurvived 是托管 AppDomain.MonitoringSurvivedMemorySize 属性的非托管等效项。

要求

平台:请参阅系统要求

页眉: MetaHost.h

图书馆: 作为资源包含在 MSCorEE.dll

.NET Framework 版本: 自 4 起可用

另见