IHostTaskManager::CallNeedsHostHook, metod
Gör att värden kan ange om CLR (Common Language Runtime) kan infoga det angivna anropet till en ohanterad funktion.
Syntax
HRESULT CallNeedsHostHook (
[in] SIZE_T target,
[out] BOOL *pbCallNeedsHostHook
);
Parametrar
target
[in] Adressen i den mappade portabla körbara filen (PE) för den ohanterade funktion som ska anropas.
pbCallNeedsHostHook
[ut] En pekare till ett booleskt värde som anger om värden kräver att anropet kopplas.
Returvärde
HRESULT | Description |
---|---|
S_OK | CallNeedsHostHook returnerades. |
HOST_E_CLRNOTAVAILABLE | CLR har inte lästs in i en process, eller så är CLR i ett tillstånd där den inte kan köra hanterad kod eller bearbeta anropet. |
HOST_E_TIMEOUT | Tidsgränsen för samtalet överst. |
HOST_E_NOT_OWNER | Anroparen äger inte låset. |
HOST_E_ABANDONED | En händelse avbröts medan en blockerad tråd eller fiber väntade på den. |
E_FAIL | Ett okänt oåterkalleligt fel har inträffat. När en metod returnerar E_FAIL kan CLR inte längre användas i processen. Efterföljande anrop till värdmetoder returnerar HOST_E_CLRNOTAVAILABLE. |
Kommentarer
För att optimera kodkörningen utför CLR en analys av varje plattform som anropar anrop under kompilering för att avgöra om anropet kan infogas. CallNeedsHostHook
gör det möjligt för värden att åsidosätta det beslutet genom att kräva att ett anrop till en ohanterad funktion kopplas. Om värden kräver en hook, infogas inte anropet i körningen.
Värden kräver vanligtvis en hook där den måste justera ett flyttalstillstånd, eller vid mottagandet av ett meddelande om att ett anrop går in i ett tillstånd där värden inte kan spåra körningens begäranden om minne eller eventuella lås som tas. När värden kräver att anropet kopplas meddelar körningen värden för övergångar till och från hanterad kod med hjälp av anrop till EnterRuntime, LeaveRuntime, ReverseEnterRuntime och ReverseLeaveRuntime.
Krav
Plattformar: Se Systemkrav.
Huvudet: MSCorEE.h
Bibliotek: Ingår som en resurs i MSCorEE.dll
.NET Framework versioner: Tillgänglig sedan 2.0