共用方式為


ICorProfilerCallback::ManagedToUnmanagedTransition 方法

向分析工具告知,已發生從 Managed 程式碼到 Unmanaged 程式碼的轉換。

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

參數

  • functionId
    [in] 呼叫中函式的 ID。

  • reason
    [in] COR_PRF_TRANSITION_REASON 列舉型別的值,表示是否因為 Managed 程式碼呼叫 Unmanaged 程式碼,還是因為 Unmanaged 函式呼叫 Managed 函式傳回,而發生轉換。

備註

如果 reason 的值為 COR_PRF_TRANSITION_CALL,則此函式 ID 為 Unmanaged 函式的函式 ID,而且從未使用 Just-In-Time (JIT) 編譯器編譯過。 Unmanaged 函式有關聯的基本資訊,例如名稱和一些中繼資料。 如果透過隱含平台叫用 (PInvoke) 呼叫了 Unmanaged 函式,則執行階段便無法判斷呼叫的目的端,而且 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 屬性)