Метод ICLRMetaHost::RequestRuntimeLoadedNotification
Предоставляет функцию обратного вызова, которая гарантированно будет вызываться при первой загрузке версии среды CLR, но еще не запущенной. Этот метод заменяет функцию LockClrVersion .
Синтаксис
HRESULT RequestRuntimeLoadedNotification (
[in] RuntimeLoadedCallbackFnPtr pCallbackFunction);
Параметры
pCallbackFunction
[in] Функция обратного вызова, вызываемая при загрузке новой среды выполнения.
Возвращаемое значение
Этот метод возвращает следующие конкретные результаты HRESULT, а также ошибки HRESULT, которые указывают на сбой метода.
HRESULT | Описание: |
---|---|
S_OK | Метод завершился успешно. |
E_POINTER | Параметр pCallbackFunction имеет значение null. |
Комментарии
Обратный вызов работает следующим образом:
Обратный вызов вызывается только при первой загрузке среды выполнения.
Обратный вызов не вызывается для повторных загрузок той же среды выполнения.
При неперемещающихся нагрузках среды выполнения вызовы функции обратного вызова сериализуются.
Функция обратного вызова имеет следующий прототип:
typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)(
ICLRRuntimeInfo *pRuntimeInfo,
CallbackThreadSetFnPtr pfnCallbackThreadSet,
CallbackThreadUnsetFnPtr pfnCallbackThreadUnset);
Ниже приведены прототипы функции обратного вызова.
pfnCallbackThreadSet
:typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)();
pfnCallbackThreadUnset
:typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();
Если узел намерен загрузить или вызвать повторную загрузку другой среды выполнения, параметры и pfnCallbackThreadUnset
, pfnCallbackThreadSet
предоставляемые в функции обратного вызова, должны использоваться следующим образом:
pfnCallbackThreadSet
должен вызываться потоком, который может вызвать загрузку среды выполнения перед попыткой такой загрузки.pfnCallbackThreadUnset
должен вызываться, когда поток больше не будет вызывать такую загрузку среды выполнения (и перед возвратом из исходного обратного вызова).pfnCallbackThreadSet
иpfnCallbackThreadUnset
не являются повторным вхондентом.
Примечание
Ведущее приложение не должно вызывать pfnCallbackThreadSet
и pfnCallbackThreadUnset
вне область pCallbackFunction
параметра.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: MetaHost.h
Библиотека: Включается в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с 4