Freigeben über


ICorProfilerCallback::ManagedToUnmanagedTransition-Methode

Benachrichtigt den Profiler, dass ein Übergang von verwaltetem Code zu nicht verwaltetem Code aufgetreten ist.

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

Parameter

  • functionId
    [in] Die ID der Funktion, die aufgerufen wird.

  • reason
    [in] Ein Wert der COR_PRF_TRANSITION_REASON-Enumeration, der angibt, ob der Übergang aufgrund eines Aufrufs von verwaltetem Code zu nicht verwaltetem Code aufgetreten ist oder aufgrund einer Rückgabe von einer verwalteten Funktion, die von einer nicht verwalteten Funktion aufgerufen wurde.

Hinweise

Wenn der Wert von reason COR_PRF_TRANSITION_CALL ist, wird die ID der nicht verwalteten Funktion als Funktions-ID verwendet. Diese ID wurde noch nie mit dem JIT-Compiler (Just-in-Time) kompiliert. Nicht verwalteten Funktionen sind grundlegende Informationen zugeordnet, z. B. ein Name und Metadaten. Wenn die nicht verwaltete Funktion über den impliziten Plattformaufruf (PInvoke) aufgerufen wurde, kann die Laufzeit das Ziel des Aufrufs nicht bestimmen, und der Wert von functionId ist NULL. Weitere Informationen zu implizitem PInvoke finden Sie unter Verwenden von C++-Interop (implizites PInvoke).

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICorProfilerCallback-Schnittstelle

ICorProfilerCallback::UnmanagedToManagedTransition-Methode

Weitere Ressourcen

Verwenden von explizitem PInvoke in C++ (DllImport-Attribut)