Поделиться через


Метод ICorProfilerCallback::Shutdown

Уведомляет профилировщика о завершении работы приложения.

Синтаксис

HRESULT Shutdown();  

Remarks

Код профилировщика не может безопасно вызывать методы интерфейса ICorProfilerInfo после Shutdown вызова метода . Любые вызовы методов приводят к ICorProfilerInfo неопределенному поведению после Shutdown возврата метода. Некоторые неизменяемые события могут по-прежнему возникать после завершения работы; профилировщик должен позаботиться о том, чтобы вернуться сразу после этого.

Метод Shutdown будет вызываться только в том случае, если управляемое приложение, профилированное, запущено как управляемый код (то есть управляется начальным кадром в стеке процессов). Если приложение началось как неуправляемый код, но позже перепрыгнуло в управляемый код, тем самым создав экземпляр среды CLR, вызов Shutdown не будет выполняться. В таких случаях профилировщик должен включить в свою библиотеку подпрограмму DllMain , которая использует значение DLL_PROCESS_DETACH для освобождения ресурсов и выполнения очистки данных, таких как очистка трассировок на диск и т. д.

Как правило, профилировщик должен справляться с непредвиденными завершениями работы. Например, процесс может быть остановлен методом Win32 TerminateProcess (объявлен в Winbase.h). В других случаях среда CLR будет останавливать определенные управляемые потоки (фоновые потоки) без доставки сообщений о упорядоченном уничтожении для них.

Требования

Платформы: см. раздел Требования к системе.

Заголовок: CorProf.idl, CorProf.h

Библиотека: CorGuids.lib

версии платформа .NET Framework: доступно с версии 2.0.

См. также раздел