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 属性的非托管等效项。

要求

**平台:**请参见 .NET Framework 系统要求

头文件: MetaHost.h

**库:**作为一项资源包含在 MSCorEE.dll 中

**.NET Framework 版本:**4

请参见

参考

ICLRAppDomainResourceMonitor 接口

概念

应用程序域资源监控

其他资源

承载接口

承载(非托管 API 参考)