ICorProfilerCallback-Schnittstelle

Stellt Methoden bereit, mit denen die Common Language Runtime (CLR) einen Codeprofiler benachrichtigt, wenn die abonnierten Ereignisse des Profilers auftreten.

Methoden

Methode BESCHREIBUNG
AppDomainCreationFinished-Methode Benachrichtigt den Profiler, dass eine Anwendungsdomäne erstellt wurde.
AppDomainCreationStarted-Methode Benachrichtigt den Profiler, dass eine Anwendungsdomäne erstellt wird.
AppDomainShutdownFinished-Methode Benachrichtigt den Profiler, dass eine Anwendungsdomäne aus einem Prozess entladen wurde.
AppDomainShutdownStarted-Methode Benachrichtigt den Profiler, dass eine Anwendungsdomäne aus einem Prozess entladen wird.
AssemblyLoadFinished-Methode Benachrichtigt den Profiler, dass das Laden einer Klasse abgeschlossen wurde.
AssemblyLoadStarted-Methode Benachrichtigt den Profiler, dass eine Assembly geladen wird.
AssemblyUnloadFinished-Methode Benachrichtigt den Profiler, dass eine Assembly entladen wurde.
AssemblyUnloadStarted-Methode Benachrichtigt den Profiler, dass eine Assembly entladen wird.
ClassLoadFinished-Methode Benachrichtigt den Profiler, dass das Laden einer Klasse abgeschlossen wurde.
ClassLoadStarted-Methode Benachrichtigt den Profiler, dass eine Klasse geladen wird.
ClassUnloadFinished-Methode Benachrichtigt den Profiler, dass das Entladen einer Klasse abgeschlossen wurde.
ClassUnloadStarted-Methode Benachrichtigt den Profiler, dass eine Klasse entladen wird.
COMClassicVTableCreated-Methode Benachrichtigt den Profiler, dass ein Runtime Callable Wrapper (RCW) für die angegebene IID und Klasse erstellt wurde.
COMClassicVTableDestroyed-Methode Benachrichtigt den Profiler, dass ein RCW zerstört wird.
ExceptionCatcherEnter-Methode Benachrichtigt den Profiler, dass das Steuerelement an den entsprechenden catch-Block übergeben wird.
ExceptionCatcherLeave-Methode Benachrichtigt den Profiler, dass das Steuerelement aus dem entsprechenden catch-Block übergeben wird.
ExceptionCLRCatcherExecute-Methode In der .NET Framework-Version 2.0 veraltet.
ExceptionCLRCatcherFound-Methode In .NET Framework 2.0 veraltet.
ExceptionOSHandlerEnter-Methode Nicht implementiert. Ein Profiler, der Informationen zu nicht verwalteten Ausnahmen benötigt, muss diese Informationen auf anderem Weg abrufen.
ExceptionOSHandlerLeave-Methode Nicht implementiert. Ein Profiler, der Informationen zu nicht verwalteten Ausnahmen benötigt, muss diese Informationen auf anderem Weg abrufen.
ExceptionSearchCatcherFound-Methode Benachrichtigt den Profiler, dass in der Suchphase der Ausnahmebehandlung ein Handler für die ausgelöste Ausnahme gefunden wurde.
ExceptionSearchFilterEnter-Methode Benachrichtigt den Profiler, dass ein Benutzerfilter ausgeführt wird.
ExceptionSearchFilterLeave-Methode Benachrichtigt den Profiler, dass die Ausführung eines Benutzerfilters gerade abgeschlossen wurde.
ExceptionSearchFunctionEnter-Methode Benachrichtigt den Profiler, dass die Suchphase der Ausnahmebehandlung eine Funktion betreten hat.
ExceptionSearchFunctionLeave-Methode Benachrichtigt den Profiler, dass die Suchphase der Ausnahmebehandlung das Suchen einer Funktion abgeschlossen hat.
ExceptionThrown-Methode Benachrichtigt den Profiler, dass eine Ausnahme ausgelöst wurde.
ExceptionUnwindFinallyEnter-Methode Benachrichtigt den Profiler, dass die Entladungsphase der Ausnahmebehandlung eine finally-Klausel öffnet, die in der angegebenen Funktion enthalten ist.
ExceptionUnwindFinallyLeave-Methode Benachrichtigt den Profiler, dass in der Unwindphase der Ausnahmebehandlung eine finally-Klausel übrig geblieben ist.
ExceptionUnwindFunctionEnter-Methode Benachrichtigt den Profiler, dass die Unwindphase der Ausnahmebehandlung eine Funktion betreten hat.
ExceptionUnwindFunctionLeave-Methode Benachrichtigt den Profiler, dass die Unwindphase der Ausnahmebehandlung das Unwinding einer Funktion abgeschlossen hat.
FunctionUnloadStarted-Methode Benachrichtigt den Profiler, dass die Runtime mit dem Entladen einer Funktion begonnen hat.
Initialize-Methode Wird aufgerufen, um den Profiler zu initialisieren, wenn eine neue CLR-Anwendung gestartet wird.
JITCachedFunctionSearchFinished-Methode Benachrichtigt den Profiler, dass eine Suche nach einer Funktion abgeschlossen wurde, die zuvor mithilfe von „NGen.exe“ kompiliert wurde.
JITCachedFunctionSearchStarted-Methode Benachrichtigt den Profiler, dass eine Suche nach einer Funktion gestartet wurde, die zuvor mithilfe von „NGen.exe“ kompiliert wurde.
JITCompilationFinished-Methode Benachrichtigt den Profiler, dass der JIT-Compiler die erneute Kompilierung einer Funktion abgeschlossen hat.
JITCompilationStarted-Methode Benachrichtigt den Profiler, dass der JIT-Compiler (Just-In-Time) mit dem Kompilieren einer Funktion begonnen hat.
JITFunctionPitched-Methode Benachrichtigt den Profiler, dass eine Funktion, die JIT (Just-In-Time) kompiliert wurde, aus dem Arbeitsspeicher entfernt wurde.
JITInlining-Methode Informiert den Profiler, dass der JIT-Compiler im Begriff ist, eine Funktion in eine Zeile mit einer anderen Funktion einzufügen.
ManagedToUnmanagedTransition-Methode Benachrichtigt den Profiler, dass ein Übergang von verwaltetem Code zu nicht verwaltetem Code erfolgt ist.
ModuleAttachedToAssembly-Methode Benachrichtigt den Profiler, dass ein Modul an seine übergeordnete Assembly angefügt wird.
ModuleLoadFinished-Methode Benachrichtigt den Profiler, dass das Laden eines Moduls abgeschlossen wurde.
ModuleLoadStarted-Methode Benachrichtigt den Profiler, dass ein Modul geladen wird.
ModuleUnloadFinished-Methode Benachrichtigt den Profiler, dass ein Modul die Entladung abgeschlossen hat.
ModuleUnloadStarted-Methode Benachrichtigt den Profiler, dass ein Modul entladen wird.
MovedReferences-Methode Benachrichtigt den Profiler über Objektverweise, die während einer Garbage Collection verschoben wurden.
ObjectAllocated-Methode Benachrichtigt den Profiler, dass Arbeitsspeicher innerhalb des Heaps für ein Objekt zugewiesen wurde.
ObjectReferences-Methode Benachrichtigt den Profiler über Objekte im Arbeitsspeicher, auf die das angegebene Objekt verweist.
ObjectsAllocatedByClass-Methode Benachrichtigt den Profiler über die Anzahl der Instanzen jeder angegebenen Klasse, die seit der vorherigen Garbage Collection erstellt wurden.
RemotingClientInvocationFinished-Methode Benachrichtigt den Profiler, dass ein Remotingaufruf auf dem Client vollständig ausgeführt wurde.
RemotingClientInvocationStarted-Methode Benachrichtigt den Profiler, dass ein Remotingaufruf gestartet wurde.
RemotingClientReceivingReply-Methode Benachrichtigt den Profiler, dass der serverseitige Teil eines Remotingaufrufs abgeschlossen ist und der Client nun die Antwort empfängt und verarbeiten wird.
RemotingClientSendingMessage-Methode Benachrichtigt den Profiler, dass der Client eine Anforderung an den Server sendet.
RemotingServerInvocationReturned-Methode Benachrichtigt den Profiler, dass der Prozess den Aufruf einer Methode als Antwort auf eine Anforderung zum Aufrufen einer Remotemethode beendet hat.
RemotingServerInvocationStarted-Methode Benachrichtigt den Profiler, dass der Prozess eine Methode als Antwort auf eine Anforderung zum Aufrufen einer Remotemethode aufruft.
RemotingServerReceivingMessage-Methode Benachrichtigt den Profiler, dass der Prozess einen Remotemethodenaufruf oder eine Aktivierungsanforderung empfängt.
RemotingServerSendingReply-Methode Benachrichtigt den Profiler, dass der Prozess die Verarbeitung einer Anforderung zum Aufrufen einer Remotemethode abgeschlossen hat und die Antwort über einen Kanal übertragen wird.
RootReferences-Methode Benachrichtigt den Profiler mit Informationen zu Stammverweisen nach einer Garbage Collection.
RuntimeResumeFinished-Methode Benachrichtigt den Profiler, dass die Runtime alle Runtimethreads fortgesetzt hat und zum normalen Betrieb zurückgekehrt ist.
RuntimeResumeStarted-Methode Benachrichtigt den Profiler, dass die Runtime alle Runtimethreads fortsetzt.
RuntimeSuspendAborted-Methode Benachrichtigt den Profiler, dass die Runtime die gerade erfolgende Runtimeausetzung abgebrochen hat.
RuntimeSuspendFinished-Methode Benachrichtigt den Profiler, dass die Runtime die Aussetzung aller Runtimethreads abgeschlossen hat.
RuntimeSuspendStarted-Methode Benachrichtigt den Profiler, dass die Runtime alle Runtimethreads fortsetzen wird.
RuntimeThreadResumed-Methode Benachrichtigt den Profiler, dass der angegebene Thread nach dem Anhalten fortgesetzt wurde.
RuntimeThreadSuspended-Methode Benachrichtigt den Profiler, dass der angegebene Thread angehalten wurde oder angehalten werden soll.
Shutdown-Methode Benachrichtigt den Profiler, dass die Anwendung heruntergefahren wird.
ThreadAssignedToOSThread-Methode Benachrichtigt den Profiler, dass ein verwalteter Thread mithilfe eines bestimmten Betriebssystemthreads implementiert wird.
ThreadCreated-Methode Benachrichtigt den Profiler, dass ein Thread erstellt wurde.
ThreadDestroyed-Methode Benachrichtigt den Profiler, dass ein Thread zerstört wurde.
UnmanagedToManagedTransition-Methode Benachrichtigt den Profiler, dass ein Übergang von nicht verwaltetem Code zu verwaltetem Code erfolgt ist.

Bemerkungen

Die CLR ruft eine Methode in der Schnittstelle ICorProfilerCallback (oder ICorProfilerCallback2) auf, um den Profiler zu benachrichtigen, wenn ein Ereignis eintritt, das der Profiler abonniert hat. Dies ist die primäre Rückrufschnittstelle, über die die CLR mit dem Codeprofiler kommuniziert.

Ein Codeprofiler muss die Methoden der ICorProfilerCallback-Schnittstelle implementieren. Ab .NET Framework 2.0 muss der Profiler auch die ICorProfilerCallback2-Methoden implementieren. Jede Methodenimplementierung muss bei Erfolg ein HRESULT mit dem Wert S_OK oder bei einem Fehler E_FAIL zurückgeben. Derzeit ignoriert die CLR das HRESULT, das von jedem Rückruf mit Ausnahme von ICorProfilerCallback::ObjectReferences zurückgegeben wird.

Ein Codeprofiler muss sein COM-Objekt (Component Object Model), das die Schnittstellen ICorProfilerCallback und ICorProfilerCallback2 implementiert, in der Microsoft Windows-Registrierung registrieren. Ein Codeprofiler abonniert die Ereignisse, für die er Benachrichtigungen erhalten möchte, durch Aufrufen von ICorProfilerInfo::SetEventMask. Dies erfolgt in der Regel in der Implementierung von ICorProfilerCallback::Initialize des Profilers. Der Profiler ist dann in der Lage, eine Benachrichtigung von der Runtime zu erhalten, wenn in einem ausgeführten Runtimeprozess ein Ereignis eintreten wird oder gerade eingetreten ist.

Hinweis

Der Profiler registriert ein einzelnes COM-Objekt. Wenn der Profiler auf die .NET Framework-Version 1.0 oder 1.1 abzielt, muss dieses COM-Objekt nur die Methoden von ICorProfilerCallback implementieren. Wenn auf die .NET Framework-Version 2.0 oder höher abgezielt wird, muss das COM-Objekt auch die Methoden von ICorProfilerCallback2 implementieren.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework-Versionen: seit Version 1.0 verfügbar

Siehe auch