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 起可用

请参阅