次の方法で共有


EMemoryCriticalLevel

更新 : 2007 年 11 月

特定のメモリ割り当てを要求されて、それを満たすことができないときの影響を示す値を含みます。

typedef enum {
    eTaskCritical      = 0,
    eAppDomainCritical = 1,
    eProcessCritical   = 2
} EMemoryCriticalLevel;

メンバ

メンバ

説明

eAppDomainCritical

割り当てが、それを要求していたドメインのマネージ コードの実行にとって重大であることを示します。メモリの割り当てができない場合、CLR はドメインが引き続き使用できることを保証できません。ホストは、割り当てができなかったときに実行するアクションを決定します。そのアクションでは、CLR に命令して、AppDomain を自動的に中止できます。また、ICLRPolicyManager でメソッドを呼び出すことによって実行を続けることができます。

eProcessCritical

割り当てが、プロセス内のマネージ コードの実行にとって重大であることを示します。この値は、起動中、およびファイナライザの実行時に使用されます。メモリの割り当てができない場合、CLR はプロセス内で動作できません。割り当てに失敗した場合、CLR は実質的に無効になります。その後の CLR に対する呼び出しはすべて、HOST_E_CLRNOTAVAILABLE で失敗します。

eTaskCritical

割り当てが、それを要求していたタスクの実行にとって重大であることを示します。メモリの割り当てができない場合、CLR は、タスクが実行できることを保証できません。エラーの場合、CLR は物理オペレーティング システム スレッドで ThreadAbortException を発生させます。

解説

IHostMemoryManager インターフェイスおよび IHostMAlloc インターフェイスで定義されているメモリ割り当てメソッドは、この型のパラメータを受け取ります。エラーの重大度レベルに応じて、ホストは、割り当て要求を即座に失敗とするか、要求が満たされるまで待機するかを決定します。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : MSCorEE.idl

ライブラリ : MSCorEE.dll

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

ICLRMemoryNotificationCallback

その他の技術情報

ホスティングの列挙体