Udostępnij za pośrednictwem


ICorProfilerCallback::Shutdown — Metoda

Powiadamia profilera, że aplikacja jest zamykana.

Składnia

HRESULT Shutdown();  

Uwagi

Kod profilera nie może bezpiecznie wywoływać metod interfejsu ICorProfilerInfo po wywołaniu Shutdown metody. Wszystkie wywołania metod ICorProfilerInfo powodują niezdefiniowane zachowanie po powrocie Shutdown metody. Niektóre niezmienne zdarzenia mogą nadal występować po zamknięciu; profiler powinien zwrócić uwagę natychmiast po wystąpieniu tego błędu.

Metoda Shutdown będzie wywoływana tylko wtedy, gdy aplikacja zarządzana, która jest profilowana jako kod zarządzany (czyli początkowa ramka na stosie procesów jest zarządzana). Jeśli aplikacja została uruchomiona jako niezarządzany kod, ale później przeskoczyła do kodu zarządzanego, tworząc wystąpienie środowiska uruchomieniowego języka wspólnego (CLR), Shutdown nie zostanie wywołana. W takich przypadkach profiler powinien uwzględnić w swojej bibliotece procedurę DllMain , która używa wartości DLL_PROCESS_DETACH do zwolnienia wszelkich zasobów i czyszczenia danych, takich jak opróżnianie śladów na dysku itd.

Ogólnie rzecz biorąc, profiler musi poradzić sobie z nieoczekiwanymi zamknięciami. Na przykład proces może zostać zatrzymany przez metodę Win32 TerminateProcess (zadeklarowaną w winbase.h). W innych przypadkach clR zatrzyma niektóre zarządzane wątki (wątki w tle) bez dostarczania uporządkowanych komunikatów zniszczenia dla nich.

Wymagania

Platformy: Zobacz Wymagania systemowe.

Nagłówka: CorProf.idl, CorProf.h

Biblioteki: CorGuids.lib

.NET Framework wersje: dostępne od wersji 2.0

Zobacz też