次の方法で共有


ICorProfilerCallback::ManagedToUnmanagedTransition メソッド

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

構文

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

パラメーター

functionId
[in] 呼び出される関数の ID。

reason
[in] COR_PRF_TRANSITION_REASON 列挙体の値。遷移が発生した理由が、マネージド コードからアンマネージド コードの呼び出しが原因か、またはアンマネージド関数によって呼び出されたマネージド関数からの戻りが原因かを示します。

解説

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

必要条件

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

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

ライブラリ: CorGuids.lib

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

関連項目