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