Metode ICorProfilerCallback::Shutdown
Memberi tahu profiler bahwa aplikasi dimatikan.
Sintaks
HRESULT Shutdown();
Keterangan
Kode profiler tidak dapat memanggil metode antarmuka ICorProfilerInfo dengan aman setelah metode Shutdown
dipanggil. Setiap panggilan ke metode ICorProfilerInfo
mengakibatkan perilaku yang tidak terdefinisi setelah metode Shutdown
kembali. Peristiwa tertentu yang tidak berubah mungkin masih terjadi setelah mematikan; profiler harus berhati-hati untuk segera kembali ketika ini terjadi.
Metode Shutdown
ini akan dipanggil hanya jika aplikasi terkelola yang sedang diprofilkan dimulai sebagai kode terkelola (yaitu, bingkai awal pada tumpukan proses dikelola). Jika aplikasi dimulai sebagai kode yang tidak dikelola tetapi kemudian melompat ke kode terkelola, sehingga membuat instans runtime bahasa umum (CLR), maka Shutdown
tidak akan dipanggil. Untuk kasus ini, profiler harus menyertakan dalam pustakanya DllMain
rutinitas yang menggunakan nilai DLL_PROCESS_DETACH untuk mengosongkan sumber daya apa pun dan melakukan pemrosesan pembersihan datanya, seperti membersihkan jejak ke disk dan sebagainya.
Secara umum, profiler harus mengatasi mematikan yang tidak terduga. Misalnya, proses mungkin dihentikan dengan metode TerminateProcess
Win32 (dinyatakan dalam Winbase.h). Dalam kasus lain, CLR akan menghentikan utas terkelola tertentu (utas latar belakang) tanpa mengirimkan pesan penghancuran yang teratur untuk mereka.
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: CorProf.idl, CorProf.h
Pustaka: CorGuids.lib
Versi .NET Framework: Tersedia mulai dari 2.0