RuntimeHelpers.ProbeForSufficientStack メソッド

定義

後続のコード ブロック内でスタック オーバーフローが発生しないように、一定のスタック領域をプローブします (コードで使用されるのは有限で中程度のスタック領域であると仮定)。 このメソッドの代わりに、制約付き実行リージョン (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 メソッドを使用する必要があります。

適用対象