Partilhar via


Método IHostTaskManager::CallNeedsHostHook

Permite que o host para especificar se o Common linguagem tempo de execução (CLR) pode embutido a telefonar especificada para uma função não gerenciada.

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

Parâmetros

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

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

Valor de retorno

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 em que ele não possa executar código gerenciado ou processar a telefonar com êxito.

HOST_E_TIMEOUT

A telefonar expirou.

HOST_E_NOT_OWNER

O chamador não é proprietário do bloquear.

HOST_E_ABANDONED

Um evento foi cancelado enquanto um segmento bloqueado ou fibra estava aguardando nele.

E_FAIL

Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é mais útil dentro do processo. As chamadas subseqüentes à hospedagem métodos retornam HOST_E_CLRNOTAVAILABLE.

Comentários

Para ajudar a otimizar a execução de código, o CLR executa uma análise de cada invocação de plataforma chamadas durante a compilação para determinar se a telefonar pode ser embutida. CallNeedsHostHook permite que o host para substituir essa decisão, exigindo que uma telefonar para uma função não gerenciada ser conectado. Se o host requer um gancho, o tempo de execução não embutido não a telefonar.

O host normalmente requer um gancho de onde ele deverá ajustar um estado de ponto flutuante ou ao receber a notificação de que uma telefonar é inserindo um estado em que o host não é possível rastrear solicitações do tempo de execução de memória ou nenhum bloqueio tomado. Quando o host requer que a telefonar ser conectado, o tempo de execução notifica o host de transições de e para código gerenciado usando chamadas de EnterRuntime, LeaveRuntime, ReverseEnterRuntime, and ReverseLeaveRuntime.

Requisitos

Plataformas: See Requisitos de sistema do .NET framework.

Cabeçalho: MSCorEE.idl

Biblioteca: Incluído sistema autônomo um recurso em MSCorEE.dll

.NET Framework Versions: 3.5 SP1, 3,5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface ICLRTask

Interface ICLRTaskManager

Interface IHostTask

Interface IHostTaskManager