Sdílet prostřednictvím


IHostTaskManager::CallNeedsHostHook – metoda

Umožňuje hostiteli určit, zda modul CLR (Common Language Runtime) může vložit zadané volání nespravované funkce.

Syntaxe

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

Parametry

target
[v] Adresa v mapovaném souboru přenosného spustitelného souboru (PE) nespravované funkce, která se má volat.

pbCallNeedsHostHook
[out] Ukazatel na logickou hodnotu, který označuje, jestli hostitel vyžaduje připojení volání.

Návratová hodnota

HRESULT Description
S_OK CallNeedsHostHook úspěšně vráceno.
HOST_E_CLRNOTAVAILABLE ClR nebyl načten do procesu nebo clr je ve stavu, ve kterém nemůže spustit spravovaný kód nebo úspěšně zpracovat volání.
HOST_E_TIMEOUT Časový limit hovoru vypršel.
HOST_E_NOT_OWNER Volající zámek nevlastní.
HOST_E_ABANDONED Událost byla zrušena, když na ni čekalo blokované vlákno nebo vlákno.
E_FAIL Došlo k neznámému katastrofickému selhání. Když metoda vrátí E_FAIL, CLR už není v rámci procesu použitelný. Následná volání metod hostování vrátí HOST_E_CLRNOTAVAILABLE.

Poznámky

Aby bylo možné optimalizovat spouštění kódu, modul CLR provádí během kompilace analýzu volání volání jednotlivých platforem, aby zjistil, jestli je možné volání vnořit. CallNeedsHostHook umožňuje hostiteli přepsat toto rozhodnutí tím, že vyžaduje připojení volání nespravované funkce. Pokud hostitel vyžaduje háček, modul runtime nezapojí volání.

Hostitel obvykle vyžaduje háček, kde musí upravit stav s plovoucí desetinou čárkou, nebo po přijetí oznámení, že volání vstupuje do stavu, kdy hostitel nemůže sledovat požadavky modulu runtime na paměť nebo přijaté zámky. Když hostitel vyžaduje připojení volání, modul runtime upozorní hostitele na přechody do a z spravovaného kódu pomocí volání EnterRuntime, LeaveRuntime, ReverseEnterRuntime a ReverseLeaveRuntime.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: MSCorEE.h

Knihovny: Zahrnuto jako prostředek v MSCorEE.dll

Verze rozhraní .NET Framework: K dispozici od verze 2.0

Viz také