RuntimeHelpers.ProbeForSufficientStack メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
後続のコード ブロック内でスタック オーバーフローが発生しないように、一定のスタック領域をプローブします (コードで使用されるのは有限で中程度のスタック領域であると仮定)。 このメソッドの代わりに、制約付き実行リージョン (CER) を使用することをお勧めします。
public:
static void ProbeForSufficientStack();
public static void ProbeForSufficientStack();
[System.Security.SecurityCritical]
public static void ProbeForSufficientStack();
static member ProbeForSufficientStack : unit -> unit
[<System.Security.SecurityCritical>]
static member ProbeForSufficientStack : unit -> unit
Public Shared Sub ProbeForSufficientStack ()
- 属性
注釈
このメソッドは、Microsoft SQL ServerやMicrosoft Exchange Serverなどのスタック オーバーフローに対する回復性があるホストで実行する場合に、制約付き実行領域 (CER) インフラストラクチャによって使用されます。 このメソッドは現在、x86 プラットフォームで 48 KB のスタック領域をプローブしますが、正確な量は時間の経過と同時に変化する可能性があり、他のプラットフォームでは異なる場合があります。
このメソッドはコンパイラでも使用されます。
ProbeForSufficientStackメソッドを使用する代わりに、標準の CER を使用する必要があります。 つまり、適度な量のスタック領域を使用する場合は、try/finallyまたはtry/catch ブロックの直前に RuntimeHelpers.PrepareConstrainedRegions メソッドを呼び出します。 再帰メソッドを呼び出す場合、または大量のスタック領域を使用する予定の場合は、 RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup メソッドを使用する必要があります。