最後の完全なガベージ コレクションをブロックし、現在のアプリケーション ドメインによって参照されたバイト数を取得します。
構文
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 以降で利用可能
こちらも参照ください
.NET