次の方法で共有


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

参照

その他の技術情報

ICLRAppDomainResourceMonitor インターフェイス

アプリケーション ドメインのリソース監視

ホスト インターフェイス

ホスト (アンマネージ API リファレンス)