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, sie stellt neue, in .NET Framework 2.0 eingeführte Rückrufe bereit.
Hinweis |
---|
Jede Methodenimplementierung muss ein HRESULT zurückgeben, das bei Erfolg den Wert S_OK und bei einem Fehler den Wert E_FAIL aufweist.Die CLR ignoriert derzeit das HRESULT, das von jedem Rückruf außer ICorProfilerCallback::ObjectReferences zurückgegeben wird. |
Methoden
Methode |
Beschreibung |
---|---|
Benachrichtigt den Codeprofiler, dass ein Objekt mit einem Finalizer zur Ausführung seiner Finalize-Methode in die Warteschlange des Finalizerthreads gestellt wurde. |
|
Benachrichtigt den Profiler, dass eine Garbage Collection abgeschlossen und alle zugehörigen Garbage Collection-Rückrufe ausgegeben wurden. |
|
Benachrichtigt den Codeprofiler, dass eine Garbage Collection gestartet wurde. |
|
Benachrichtigt den Codeprofiler, dass ein Garbage Collection-Handle erstellt wurde. |
|
Benachrichtigt den Codeprofiler, dass ein Garbage Collection-Handle zerstört wurde. |
|
Benachrichtigt den Profiler über Stammverweise, nachdem eine Garbage Collection erfolgt ist. Diese Methode ist eine Erweiterung der ICorProfilerCallback::RootReferences-Methode. |
|
Benachrichtigt den Profiler über Objektverweise, die nach einer Garbage Collection noch vorhanden sind. |
|
Benachrichtigt den Codeprofiler, dass sich der Name eines Threads geändert hat. |
Hinweise
Die CLR ruft eine Methode in der ICorProfilerCallback-Schnittstelle (oder der ICorProfilerCallback2-Schnittstelle) auf, um den Profiler zu benachrichtigen, wenn ein abonniertes Ereignis des Profilers auftritt. Dies ist die primäre Rückrufschnittstelle, über die die CLR mit dem Codeprofiler kommuniziert.
Ein Codeprofiler muss die Methoden der ICorProfilerCallback-Schnittstelle implementieren. Für .NET Framework, Version 2.0 und höher, muss der Profiler auch die ICorProfilerCallback2-Methoden implementieren. Jede Methodenimplementierung muss ein HRESULT zurückgeben, das bei Erfolg den Wert S_OK und bei einem Fehler den Wert E_FAIL aufweist. Die CLR ignoriert derzeit das HRESULT, das von jedem Rückruf außer ICorProfilerCallback::ObjectReferences zurückgegeben wird.
Ein Codeprofiler muss in der Microsoft Windows-Registrierung sein COM-Objekt registrieren, das die ICorProfilerCallback-Schnittstelle und die ICorProfilerCallback2-Schnittstelle implementiert. Ein Codeprofiler abonniert die Ereignisse, für die er eine Benachrichtigung empfangen möchte, indem er ICorProfilerInfo::SetEventMask aufruft. Dies geschieht in der Regel bei der Implementierung von ICorProfilerCallback::Initialize durch den Profiler. Der Profiler kann dann Benachrichtigungen von der Laufzeit empfangen, wenn demnächst ein Ereignis im gerade ausgeführten Laufzeitprozess auftritt oder aufgetreten ist.
Hinweis |
---|
Der Profiler registriert ein einzelnes COM-Objekt.Wenn der Profiler auf .NET Framework, Version 1.0 oder 1.1, abzielt, muss das COM-Objekt nur die Methoden von ICorProfilerCallback implementieren.Wenn er auf .NET Framework, Version 2.0 und höher, abzielt, muss das COM-Objekt auch die Methoden von ICorProfilerCallback2 implementieren. |
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