次の方法で共有


ICorProfilerCallback::UnmanagedToManagedTransition メソッド

アンマネージ コードからマネージ コードへの移行が発生したことをプロファイラーに通知します。

HRESULT UnmanagedToManagedTransition(
    [in] FunctionID functionId,
    [in] COR_PRF_TRANSITION_REASON reason);

パラメーター

  • functionId
    [入力] 呼び出す関数の ID。

  • reason
    [入力] アンマネージ コードからマネージ コードを呼び出すときと、マネージ関数で呼び出したアンマネージ関数から戻るときのどちらで遷移が発生したかを示す COR_PRF_TRANSITION_REASON 列挙体の値。

解説

reason の値が COR_PRF_TRANSITION_RETURN で functionId の値が null 以外の場合、この関数 ID はアンマネージ関数の ID であることを示し、Just-In-Time (JIT) コンパイラを使用してコンパイルされることはありません。 アンマネージ関数は、名前と一部のメタデータなど、それに関連付けられた基本的な情報を持っています。

reason の値が COR_PRF_TRANSITION_CALL の場合は、呼び出し元の関数 (つまり、マネージ関数) がまだ JIT コンパイルされていない可能性があることを示します。

必要条件

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

ヘッダー: CorProf.idl、CorProf.h

ライブラリ: CorGuids.lib

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

参照

参照

ICorProfilerCallback インターフェイス

ICorProfilerCallback::ManagedToUnmanagedTransition メソッド

C++ Interop (暗黙の PInvoke) の使用

その他の技術情報

C++ での明示的な PInvoke (DllImport 属性) の使用方法