Megosztás a következőn keresztül:


IHostTaskManager::CallNeedsHostHook metódus

Lehetővé teszi a gazdagép számára annak megadását, hogy a közös nyelvi futtatókörnyezet (CLR) be tudja-e ágyazni a megadott hívást egy nem felügyelt függvénybe.

Szintaxis

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

Paraméterek

target
[in] A meghívni kívánt nem felügyelt függvény leképezett hordozható végrehajtható (PE) fájljának címe.

pbCallNeedsHostHook
[kifelé] Egy logikai értékre mutató mutató, amely azt jelzi, hogy a gazdagépnek szüksége van-e a hívás összekapcsolására.

Visszatérési érték

HRESULT Description
S_OK CallNeedsHostHook sikeresen visszaadott.
HOST_E_CLRNOTAVAILABLE A CLR nincs betöltve egy folyamatba, vagy a CLR olyan állapotban van, amelyben nem tudja futtatni a felügyelt kódot, vagy nem tudja sikeresen feldolgozni a hívást.
HOST_E_TIMEOUT A hívás túllépte az időkorlátot.
HOST_E_NOT_OWNER A hívó nem rendelkezik a zárral.
HOST_E_ABANDONED Egy esemény megszakadt, miközben egy blokkolt szál vagy szál várakozott rá.
E_FAIL Ismeretlen katasztrofális hiba történt. Amikor egy metódus E_FAIL ad vissza, a CLR már nem használható a folyamaton belül. Az üzemeltetési módszerekre irányuló későbbi hívások HOST_E_CLRNOTAVAILABLE adnak vissza.

Megjegyzések

A kódvégrehajtás optimalizálása érdekében a CLR elemzést végez az egyes platformok hívásainak fordítása során annak megállapításához, hogy a hívás beágyazott-e. CallNeedsHostHook lehetővé teszi a gazdagép számára, hogy felülbírálja ezt a döntést azáltal, hogy egy nem felügyelt függvény hívásának összekapcsolására van szükség. Ha a gazdagépnek horogra van szüksége, a futtatókörnyezet nem ágyazja be a hívást.

A gazdagépnek általában olyan horogra van szüksége, amelyben módosítania kell egy lebegőpontos állapotot, vagy amikor értesítést kap arról, hogy egy hívás olyan állapotba lép, amelyben a gazdagép nem tudja nyomon követni a futtatókörnyezet memóriakérelmét vagy az elvégzett zárolásokat. Ha a gazdagép megköveteli a hívás összekapcsolását, a futtatókörnyezet az EnterRuntime, a LeaveRuntime, a ReverseEnterRuntime és a ReverseLeaveRuntime hívásokkal értesíti a gazdagépet a felügyelt kódra való áttérésről és a felügyelt kódról.

Követelmények

Platformok: Lásd: Rendszerkövetelmények.

Fejléc: MSCorEE.h

Könyvtár: Erőforrásként szerepel a MSCorEE.dll

.NET-keretrendszer verziók: 2.0 óta érhető el

Lásd még