ICLRAppDomainResourceMonitor::GetCurrentSurvived メソッド
最後のフル ブロッキング ガベージ コレクションで残ったバイト数、および現在のアプリケーション ドメインで参照されているバイト数を取得します。
HRESULT STDMETHODCALLTYPE GetCurrentSurvived(
[in] DWORD dwAppDomainId,
[out] ULONGLONG *pAppDomainBytesSurvived,
[out] ULONGLONG *pTotalBytesSurvived);
パラメーター
dwAppDomainId
[入力] 要求されたアプリケーション ドメインの ID。pAppDomainBytesSurvived
[出力] このアプリケーション ドメインで保持されている、最後のガベージ コレクションの後に残ったバイト数へのポインター。 フル コレクションの後は、この数が正確かつ完全です。 短期コレクションの後は、この数が不完全である可能性があります。 このパラメーターには、null を指定できます。pRuntimeBytesSurvived
[出力] 最後のガベージ コレクションで残った合計バイト数へのポインター。 フル コレクションの後は、この数が、マネージ ヒープに保持されているバイト数を表します。 短期コレクションの後は、この数が、短期ジェネレーションでライブに保持されているバイト数を表します。 このパラメーターには、null を指定できます。
戻り値
このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。
HRESULT |
説明 |
---|---|
S_OK |
メソッドは正常に終了しました。 |
COR_E_APPDOMAINUNLOADED |
アプリケーション ドメインがアンロードされています。または、存在しません。 |
解説
統計情報は、フル ブロッキング ガベージ コレクションの後にのみ更新されます。これは、すべてのジェネレーションを含み、コレクションの発生中にアプリケーションを停止させるコレクションです。 たとえば、GC.Collect() メソッド オーバーロードは、フル ブロッキング コレクションを実行します。 同時実行ガベージ コレクションは、バックグラウンドで実行されて、アプリケーションをブロックしません。
GetCurrentSurvived メソッドは、マネージ AppDomain.MonitoringSurvivedMemorySize プロパティと同等のアンマネージ メソッドです。
必要条件
プラットフォーム: 「.NET Framework システム要件」を参照
ヘッダー: MetaHost.h
ライブラリ: MSCorEE.dll にリソースとして格納されていること
.NET Framework のバージョン: 4