Метод ICLRDebuggingLibraryProvider::ProvideLibrary

Возвращает интерфейс обратного вызова поставщика библиотеки, который позволяет размещать и загружать библиотеки отладки для конкретной версии среды CLR по запросу.

Синтаксис

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

Параметры

pwszFilename
[in] Имя запрашиваемого модуля.

dwTimestamp
[in] Метка даты и времени, хранящейся в заголовке файла COFF pe-файлов.

dwSizeOfImage
[in] Поле SizeOfImage , хранящееся в необязательном заголовке файла COFF pe-файлов.

hModule
[out] Дескриптор запрошенного модуля.

Возвращаемое значение

Этот метод возвращает следующие конкретные результаты HRESULT, а также ошибки HRESULT, которые указывают на сбой метода.

HRESULT Описание:
S_OK Метод завершился успешно.

Исключения

Remarks

ProvideLibrary позволяет отладчику предоставлять модули, необходимые для отладки определенных файлов CLR, таких как mscordbi.dll и mscordacwks.dll. Дескриптора модуля должны оставаться действительными до тех пор, пока вызов метода ICLRDebugging::CanUnloadNow не укажет, что они могут быть освобождены. В этот момент вызывающий объект отвечает за освобождение дескрипторов.

Отладчик может использовать любые доступные средства для поиска или приобретения модуля отладки.

Важно!

Эта функция позволяет вызывающей программе API предоставлять модули, содержащие исполняемый и, возможно, вредоносный код. В качестве меры безопасности вызывающий объект не должен использовать для ProvideLibrary распространения кода, который он не хочет выполнять сам.

Если в уже выпущенной библиотеке обнаружена серьезная проблема безопасности, например mscordbi.dll или mscordacwks.dll, оболочку можно исправить, чтобы распознать плохие версии файлов. Затем оболочка может выдавать запросы для исправленных версий файлов и отклонять неправильные версии, если они предоставляются в ответ на любой запрос. Это может произойти, только если пользователь установил исправление до новой версии оболочки. Неотправленные версии останутся уязвимыми.

Требования

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

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

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

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

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