FunctionLeave3 関数

関数から制御が戻されていることをプロファイラーに通知します。

構文

void __stdcall FunctionLeave3(FunctionOrRemappedID functionOrRemappedID);  

パラメーター

functionOrRemappedID [in] 制御が返された関数の識別子。

解説

FunctionLeave3 コールバック関数によって、関数が呼び出されていることがプロファイラーに通知されますが、戻り値の検査はサポートされません。 ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 メソッドを使用して、この関数の実装を登録します。

FunctionLeave3 関数はコールバックであるため、実装する必要があります。 実装では、__declspec(naked) ストレージ クラス属性を使用する必要があります。

この関数を呼び出す前に、実行エンジンではレジスタは保存されません。

  • 開始時には、浮動小数点演算ユニット (FPU) 内のものを含め、使用するすべてのレジスタを保存する必要があります。

  • 終了時には、呼び出し元によってプッシュされたすべてのパラメーターをポップして、スタックを復元する必要があります。

FunctionLeave3 の実装では、ガベージ コレクションが遅れるためブロックしないでください。 スタックがガベージ コレクション対応状態ではない可能性があるため、この実装ではガベージ コレクションを試行しないでください。 ガベージ コレクションが試行された場合、FunctionLeave3 が返されるまでランタイムはブロックされます。

FunctionLeave3 関数では、マネージド コードを呼び出すことはできません。呼び出すと、何らかのマネージド メモリ割り当てが行われます。

要件

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

ヘッダー: CorProf.idl

ライブラリ: CorGuids.lib

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

関連項目