ICLRAppDomainResourceMonitor::GetCurrentSurvived 方法
获取上次完全阻止垃圾回收后保留下来,且由当前应用程序域引用的字节数。
语法
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 起可用