Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Permite que o host especifique se o CLR (Common Language Runtime) pode embutir a chamada especificada para uma função não gerenciada.
Sintaxe
HRESULT CallNeedsHostHook (
[in] SIZE_T target,
[out] BOOL *pbCallNeedsHostHook
);
Parâmetros
target
[in] O endereço dentro do arquivo executável portátil (PE) mapeado da função não gerenciada a ser chamada.
pbCallNeedsHostHook
[out] Um ponteiro para um valor booliano que indica se o host requer que a chamada seja conectada.
Valor Retornado
| HRESULT | Descrição |
|---|---|
| S_OK |
CallNeedsHostHook retornado com êxito. |
| HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado em um processo, ou o CLR está em um estado no qual não pode executar código gerenciado ou processar a chamada com êxito. |
| HOST_E_TIMEOUT | Uma chamada atingiu o tempo limite. |
| HOST_E_NOT_OWNER | O chamador não possui o bloqueio. |
| HOST_E_ABANDONED | Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele. |
| E_FAIL | Uma falha catastrófica desconhecida ocorreu. Quando um método retornar E_FAIL, o CLR não poderá mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE. |
Comentários
Para ajudar a otimizar a execução de código, o CLR executa uma análise de cada chamada de invocação de plataforma durante a compilação para determinar se a chamada pode ser embutida.
CallNeedsHostHook permite que o host substitua essa decisão exigindo que uma chamada para uma função não gerenciada seja conectada. Se o host exigir uma conexão, o runtime não irá embutir a chamada.
O host normalmente exigiria uma conexão na qual ele deve ajustar um estado de ponto flutuante ou ao receber a notificação de que uma chamada está entrando em um estado no qual o host não pode rastrear as solicitações de memória do runtime ou quaisquer bloqueios feitos. Quando o host exige que a chamada seja conectada, o runtime notifica o host de transições de e para o código gerenciado usando chamadas para EnterRuntime, LeaveRuntime, ReverseEnterRuntime e ReverseLeaveRuntime.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: MSCorEE.h
Biblioteca: incluída como um recurso no MSCorEE.dll
Versões do .NET Framework: disponíveis desde 2.0