Freigeben über


FunctionEnter-Funktion

Benachrichtigt den Profiler, dass das Steuerelement an eine Funktion übergeben wird.

HinweisHinweis

Die FunctionEnter-Funktion ist in .NET Framework, Version 2.0, veraltet, und ihre Verwendung führt zu Leistungeinbußen.Verwenden Sie stattdessen die FunctionEnter2-Funktion.

void __stdcall FunctionEnter (
    [in]  FunctionID funcID
);

Parameter

  • funcID
    [in] Der Bezeichner der Funktion, an die das Steuerelement übergeben wird.

Hinweise

Die FunctionEnter-Funktion ist ein Rückruf; Sie müssen sie implementieren. Die Implementierung muss das __declspec(naked)-Speicherklassenattribut verwenden.

Das Ausführungsmodul speichert vor dem Aufrufen dieser Funktion keine Register.

  • Beim Eintritt müssen Sie alle verwendeten Register speichern, auch die Register in der Gleitkommaeinheit (Floating-Point Unit, FPU).

  • Beim Beenden müssen Sie den Stapel wiederherstellen, indem Sie alle Parameter, die vom Aufrufer verschoben wurden, wieder abholen.

Die Implementierung von FunctionEnter sollte nicht blockieren, da dies die Garbage Collection verzögert. Die Implementierung sollte nicht versuchen, eine Garbage Collection durchzuführen, weil sich der Stapel möglicherweise nicht in einem für die Garbage Collection geeigneten Zustand befindet. Wenn eine Garbage Collection versucht wird, ist die Laufzeit blockiert, bis FunctionEnter zurückkehrt.

Außerdem darf die FunctionEnter-Funktion keinen verwalteten Code aufrufen und keinen verwalteten Speicher belegen.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorProf.idl

Bibliothek: CorGuids.lib

.NET Framework-Versionen: 1.1, 1.0

Siehe auch

Referenz

FunctionEnter2-Funktion

FunctionLeave2-Funktion

FunctionTailcall2-Funktion

ICorProfilerInfo2::SetEnterLeaveFunctionHooks2-Methode

Weitere Ressourcen

Profilerstellung für globale statische Funktionen

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Oktober 2010

__stdcall zur Syntax hinzugefügt.

Kundenfeedback.