Método ICLRMetaHost::RequestRuntimeLoadedNotification
Fornece uma função de chamada de retorno que é garantidamente chamada quando uma versão comum do tempo de execução de linguagem (CLR) é carregada pela primeira vez, mas ainda não iniciada. Este método substitui a função LockClrVersion .
Sintaxe
HRESULT RequestRuntimeLoadedNotification (
[in] RuntimeLoadedCallbackFnPtr pCallbackFunction);
Parâmetros
pCallbackFunction
[in] A função de chamada de retorno que é invocada quando um novo runtime é carregado.
Devolver Valor
Este método devolve os seguintes HRESULTs específicos, bem como erros HRESULT que indicam a falha do método.
HRESULT | Description |
---|---|
S_OK | O método foi concluído com êxito. |
E_POINTER | pCallbackFunction é nulo. |
Observações
A chamada de retorno funciona da seguinte forma:
A chamada de retorno é invocada apenas quando um runtime é carregado pela primeira vez.
A chamada de retorno não é invocada para cargas reentrantes do mesmo runtime.
Para cargas de runtime não reentrantes, as chamadas para a função de chamada de retorno são serializadas.
A função de chamada de retorno tem o seguinte protótipo:
typedef void (__stdcall *RuntimeLoadedCallbackFnPtr)(
ICLRRuntimeInfo *pRuntimeInfo,
CallbackThreadSetFnPtr pfnCallbackThreadSet,
CallbackThreadUnsetFnPtr pfnCallbackThreadUnset);
Os protótipos da função de chamada de retorno são os seguintes:
pfnCallbackThreadSet
:typedef HRESULT (__stdcall *CallbackThreadSetFnPtr)();
pfnCallbackThreadUnset
:typedef HRESULT (__stdcall *CallbackThreadUnsetFnPtr)();
Se o anfitrião pretender carregar ou fazer com que outro runtime seja carregado de forma reentrante, os pfnCallbackThreadSet
parâmetros e pfnCallbackThreadUnset
fornecidos na função de chamada de retorno têm de ser utilizados da seguinte forma:
pfnCallbackThreadSet
tem de ser chamado pelo thread que pode causar uma carga de runtime antes de tal carga ser tentada.pfnCallbackThreadUnset
tem de ser chamado quando o thread deixar de causar essa carga de runtime (e antes de regressar da chamada de retorno inicial).pfnCallbackThreadSet
epfnCallbackThreadUnset
são ambos não reentrrantes.
Nota
As aplicações anfitriãs não podem chamar pfnCallbackThreadSet
e pfnCallbackThreadUnset
fora do âmbito do pCallbackFunction
parâmetro .
Requisitos
Plataformas: Veja Requisitos de Sistema.
Cabeçalho: MetaHost.h
Biblioteca: Incluído como um recurso no MSCorEE.dll
.NET Framework Versões: Disponível desde 4