EMemoryCriticalLevel 列挙型

特定のメモリ割り当てが要求されているが、満たすことができない場合に、失敗の影響を示す値を格納します。

構文

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

メンバー

メンバー 説明
eAppDomainCritical 割り当てを要求したドメイン内のマネージド コードを実行するために割り当てが不可欠であることを示します。 メモリを割り当てることができない場合は、引き続きドメインが使用可能であることを CLR で保証できません。 ホストでは、割り当てを満たすことができない場合に実行するアクションが決定されます。 AppDomain を自動的に中止するように CLR に指示することも、ICLRPolicyManager でメソッドを呼び出して実行を続行することもできます。
eProcessCritical プロセス内のマネージド コードを実行するために割り当てが不可欠であることを示します。 この値は、起動時とファイナライザーの実行時に使用されます。 メモリを割り当てることができない場合は、CLR のプロセスで動作できません。 割り当てに失敗した場合は、CLR が実質的に無効になります。 後続の CLR の呼び出しはすべて、HOST_E_CLRNOTAVAILABLE で失敗します。
eTaskCritical 割り当てを要求したタスクを実行するために割り当てが不可欠であることを示します。 メモリを割り当てることができない場合は、タスクが実行可能であることを CLR で保証できません。 失敗した場合は、CLR の物理操作システム スレッドで ThreadAbortException が発生します。

解説

IHostMemoryManager インターフェイスと IHostMAlloc インターフェイスで定義されているメモリ割り当てメソッドでは、この種類のパラメーターが受け取られます。 失敗の重大度に応じて、すぐに割り当て要求に失敗するのか、満たされるまで待機するのかをホストで決定できます。

必要条件

:システム要件」を参照してください。

ヘッダー: MSCorEE.h

ライブラリ: MSCorEE.dll

.NET Framework のバージョン: 2.0 以降で使用可能

関連項目