Freigeben über


ICorProfilerCallback::Shutdown-Methode

Aktualisiert: November 2007

Benachrichtigt den Profiler, dass die Anwendung heruntergefahren wird.

HRESULT Shutdown();

Hinweise

Der Profilercode kann Methoden der ICorProfilerInfo-Schnittstelle nicht sicher aufrufen, nachdem die Shutdown-Methode aufgerufen wurde. Alle Aufrufe der ICorProfilerInfo-Methoden führen zu nicht definiertem Verhalten, nachdem die Shutdown-Methode ausgeführt wurde. Bestimmte unveränderliche Ereignisse können auch nach dem Herunterfahren auftreten. Die Rückgabe durch den Profiler muss in diesem Fall unverzüglich erfolgen.

Die Shutdown-Methode wird nur aufgerufen, wenn die verwaltete Anwendung, für die ein Profil erstellt wird, als verwalteter Code gestartet wurde (das heißt, der Anfangsrahmen des Prozessstapels wird verwaltet). Wenn die Anwendung als nicht verwalteter Code gestartet wurde, aber später in verwalteten Code springt und dadurch eine Instanz der Common Language Runtime (CLR) erzeugt, dann wird Shutdown nicht aufgerufen. Für diese Fälle sollte der Profiler eine DllMain-Routine in seine Bibliothek aufnehmen, die mit dem DLL_PROCESS_DETACH-Wert Ressourcen freigibt und Bereinigungsvorgänge seiner Daten durchführt, wie das Entleeren von Ablaufverfolgungen in einen Datenträger usw.

Im Allgemeinen muss der Profiler auch unerwartetes Herunterfahren bewältigen können. Zum Beispiel kann ein Prozess von einer Win32-TerminateProcess-Methode (deklariert in Winbase.h) angehalten werden. In anderen Fällen hält die CLR bestimmte verwaltete Threads (Hintergrundthreads) an, ohne ordnungsgemäße Zerstörungsmeldungen für sie zu übermitteln.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: CorProf.idl

Bibliothek: CorGuids.lib

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

Siehe auch

Referenz

ICorProfilerCallback-Schnittstelle

ICorProfilerCallback::Initialize-Methode