ICorProfilerCallback::Shutdown-Methode

Benachrichtigt den Profiler, dass die Anwendung heruntergefahren wird.

Syntax

HRESULT Shutdown();  

Bemerkungen

Der Profilercode kann Methoden der ICorProfilerInfo-Schnittstelle nicht sicher aufrufen, nachdem die Shutdown-Methode aufgerufen wurde. Alle Aufrufe von ICorProfilerInfo-Methoden führen nach Abschluss der Shutdown-Methode zu nicht definiertem Verhalten. Bestimmte unveränderliche Ereignisse können auch nach dem Herunterfahren auftreten. In diesem Fall sollte der Profiler umgehend wieder verfügbar werden.

Die Shutdown-Methode wird nur aufgerufen, wenn die verwaltete Anwendung, für die ein Profil erstellt wird, als verwalteter Code gestartet wurde (also der anfängliche Frame im Prozessstapel verwaltet ist). Wenn die Anwendung als nicht verwalteter Code gestartet wurde, aber später in verwalteten Code gesprungen ist, wodurch eine Instanz der Common Language Runtime (CLR) erstellt wurde, wird Shutdown nicht aufgerufen. In diesen Fällen sollte der Profiler in seiner Bibliothek eine DllMain-Routine enthalten, die den DLL_PROCESS_DETACH-Wert verwendet, um alle Ressourcen freizugeben und eine Bereinigung seiner Daten durchzuführen (also beispielsweise Ablaufverfolgungen auf den Datenträger leeren und Ähnliches).

Ganz allgemein muss der Profiler unerwartetes Herunterfahren bewältigen können. Beispielsweise kann ein Prozess durch die Win32-Methode TerminateProcess (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 senden.

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