Teilen über


ICorProfilerCallback2-Schnittstelle

Stellt Methoden bereit, mit denen die Common Language Runtime (CLR) einen Codeprofiler benachrichtigt, wenn die abonnierten Ereignisse des Profilers auftreten. Die ICorProfilerCallback2-Schnittstelle ist eine Erweiterung der ICorProfilerCallback-Schnittstelle. Das heißt, es werden neue Rückrufe bereitgestellt, die in der .NET Framework-Version 2.0 eingeführt wurden.

Hinweis

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.

Methoden

Methode BESCHREIBUNG
FinalizeableObjectQueued-Methode Benachrichtigt den Codeprofiler, dass ein Objekt mit einem Finalizer zur Ausführung seiner Finalize-Methode in den Finalizerthread eingereiht wurde.
GarbageCollectionFinished-Methode Benachrichtigt den Profiler, dass eine Garbage Collection abgeschlossen ist und alle Garbage Collection-Rückrufe dafür erteilt wurden.
GarbageCollectionStarted-Methode Benachrichtigt den Codeprofiler, dass eine Garbage Collection gestartet wurde.
HandleCreated-Methode Benachrichtigt den Codeprofiler, dass ein Garbage Collection-Handle erstellt wurde.
HandleDestroyed-Methode Benachrichtigt den Codeprofiler, dass ein Garbage Collection-Handle zerstört wurde.
RootReferences2-Methode Benachrichtigt den Profiler nach erfolgter Garbage Collection über Stammverweise. Diese Methode ist eine Erweiterung der ICorProfilerCallback::RootReferences-Methode.
SurvivingReferences-Methode Benachrichtigt den Profiler über Objektverweise, die eine Garbage Collection überstanden haben.
ThreadNameChanged-Methode Benachrichtigt den Codeprofiler, dass der Name eines Threads geändert wurde.

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, 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 2.0 verfügbar.

Siehe auch