次の方法で共有


ICorProfilerCallback::UnmanagedToManagedTransition メソッド

更新 : 2007 年 11 月

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

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

ライブラリ : CorGuids.lib

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

参照

参照

ICorProfilerCallback

ICorProfilerCallback::ManagedToUnmanagedTransition メソッド

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

その他の技術情報

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