次の方法で共有


ICorProfilerCallback::ManagedToUnmanagedTransition メソッド

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

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

パラメーター

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

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

解説

reason の値が COR_PRF_TRANSITION_CALL の場合、関数 ID はアンマネージ関数の ID で、Just-In-Time (JIT) コンパイラを使用してコンパイルされていることはありません。 アンマネージ関数は、名前と一部のメタデータなど、それに関連付けられた基本的な情報を持っています。 アンマネージ関数が暗黙的なプラットフォーム呼び出し (PInvoke) を介して呼び出された場合、ランタイムは呼び出し先を判断できないため、functionId の値は null になります。 暗黙的な PInvoke の詳細については、「C++ Interop (暗黙の PInvoke) の使用」を参照してください。

必要条件

プラットフォーム: 「.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::UnmanagedToManagedTransition メソッド

その他の技術情報

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