Partilhar via


Método de IHostTaskManager::CallNeedsHostHook

Permite que o host especificar se o common language runtime (CLR) pode in-line a chamada especificada para uma função não gerenciada.

HRESULT CallNeedsHostHook (
    [in]  SIZE_T target, 
    [out] BOOL   *pbCallNeedsHostHook
);

Parâmetros

  • target
    [in] O endereço dentro do arquivo mapeado arquivo executável portátil (PE) da função não gerenciada que deve ser chamado.

  • pbCallNeedsHostHook
    [out] Um ponteiro para um valor Boolean que indica se o host requer a chamada a ser conectado.

Valor de retorno

HRESULT

Descrição

S_OK

CallNeedsHostHookretornado com êxito.

HOST_E_CLRNOTAVAILABLE

O CLR não foi carregado em um processo ou o CLR é em um estado em que ele não é possível executar código gerenciado ou processar a chamada com êxito.

HOST_E_TIMEOUT

A chamada foi esgotado.

HOST_E_NOT_OWNER

O chamador não possui o bloqueio.

HOST_E_ABANDONED

Um evento foi cancelado, enquanto um segmento bloqueado ou fibra estava esperando por ele.

E_FAIL

Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é usável dentro do processo. As chamadas subseqüentes para hospedar os métodos retornam HOST_E_CLRNOTAVAILABLE.

Comentários

Para ajudar a otimizar a execução de código, o CLR realiza uma análise de cada plataforma chamar chamadas durante a compilação para determinar se a chamada pode ser embutida. CallNeedsHostHookpermite que o host substituir essa decisão, exigindo que uma chamada para uma função não gerenciada ser conectado. Se o host requer um gancho, o runtime faz não in-line a chamada.

Normalmente o host exigiria um gancho de onde ele deverá ajustar um estado de ponto flutuante ou ao receber a notificação de que uma chamada é inserindo um estado onde o host não pode controlar solicitações de memória ou qualquer bloqueios do runtime. Quando o host requer que a chamada ser conectado, o runtime notifica o host de transições em código gerenciado usando chamadas para EnterRuntime, LeaveRuntime, ReverseEnterRuntime, e ReverseLeaveRuntime.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso em mscoree

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface de ICLRTask

Interface de ICLRTaskManager

Interface de IHostTask

Interface de IHostTaskManager