Bagikan melalui


Metode ICLRDebuggingLibraryProvider::ProvideLibrary

Mendapatkan antarmuka panggilan balik penyedia pustaka yang memungkinkan pustaka penelusuran kesalahan khusus versi runtime bahasa umum (CLR) berada dan dimuat sesuai permintaan.

Sintaks

HRESULT ProvideLibrary(
     [in] const WCHAR* pwszFileName,
     [in] DWORD dwTimestamp,
     [in] DWORD dwSizeOfImage,
     [out] HMODULE* hModule);

Parameter

pwszFilename
[in] Nama modul yang diminta.

dwTimestamp
[in] Stempel waktu tanggal yang disimpan di header file COFF dari file PE.

dwSizeOfImage
[masuk] Bidang SizeOfImage disimpan di header file opsional COFF dari file PE.

hModule
[keluar] Pegangan ke modul yang diminta.

Tampilkan Nilai

Metode ini mengembalikan HRESULT tertentu berikut serta kesalahan HRESULT yang menunjukkan kegagalan metode.

HRESULT Deskripsi
S_OK Metode berhasil diselesaikan.

Pengecualian

Keterangan

ProvideLibrary memungkinkan debugger untuk menyediakan modul yang diperlukan untuk men-debug file CLR tertentu seperti mscordbi.dll dan mscordacwks.dll. Handel modul harus tetap valid sampai panggilan ke metode ICLRDebugging::CanUnloadNow menunjukkan bahwa mereka dapat dibebaskan, di mana pemanggil bertanggung jawab untuk membebaskan handel.

Debugger dapat menggunakan cara apa pun yang tersedia untuk menemukan atau mendapatkan modul penelusuran kesalahan.

Penting

Fitur ini memungkinkan pemanggil API untuk menyediakan modul yang berisi kode yang dapat dieksekusi, dan mungkin berbahaya. Sebagai tindakan pencegahan keamanan, penelepon tidak boleh menggunakan ProvideLibrary untuk mendistribusikan kode apa pun yang tidak ingin dijalankannya sendiri.

Jika masalah keamanan serius ditemukan di pustaka yang sudah dirilis, seperti mscordbi.dll atau mscordacwks.dll, shim dapat ditambal untuk mengenali versi file yang buruk. Shim kemudian dapat mengeluarkan permintaan untuk versi file yang ditambal dan menolak versi yang buruk jika diberikan sebagai tanggapan atas permintaan apa pun. Ini dapat terjadi hanya jika pengguna telah menambal ke versi baru shim. Versi yang tidak ditambal akan tetap rentan.

Persyaratan

Platform: Lihat Persyaratan Sistem.

Header: CorDebug.idl, CorDebug.h

Pustaka: CorGuids.lib

Versi .NET Framework: Tersedia mulai dari 4

Lihat juga