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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: