IHostTaskManager::CallNeedsHostHook — Metoda
Umożliwia hostowi określenie, czy środowisko uruchomieniowe języka wspólnego (CLR) może w tekście określić określone wywołanie funkcji niezarządzanej.
Składnia
HRESULT CallNeedsHostHook (
[in] SIZE_T target,
[out] BOOL *pbCallNeedsHostHook
);
Parametry
target
[w] Adres w zamapowanym pliku wykonywalnego przenośnego (PE) funkcji niezarządzanej, która ma być wywoływana.
pbCallNeedsHostHook
[out] Wskaźnik do wartości logicznej, która wskazuje, czy host wymaga podłączenia wywołania.
Wartość zwracana
HRESULT | Opis |
---|---|
S_OK | CallNeedsHostHook zwrócono pomyślnie. |
HOST_E_CLRNOTAVAILABLE | ClR nie został załadowany do procesu lub CLR jest w stanie, w którym nie może uruchomić kodu zarządzanego ani pomyślnie przetworzyć wywołania. |
HOST_E_TIMEOUT | Upłynął limit czasu wywołania. |
HOST_E_NOT_OWNER | Obiekt wywołujący nie jest właścicielem blokady. |
HOST_E_ABANDONED | Zdarzenie zostało anulowane, gdy zablokowany wątek lub światłowod czekał na nie. |
E_FAIL | Wystąpił nieznany katastrofalny błąd. Gdy metoda zwraca E_FAIL, clR nie będzie już można używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE. |
Uwagi
Aby ułatwić optymalizację wykonywania kodu, clR wykonuje analizę wywołania wywołania każdej platformy podczas kompilacji w celu określenia, czy wywołanie może być podkreślone. CallNeedsHostHook
umożliwia hostowi zastąpienie tej decyzji, wymagając, aby wywołanie funkcji niezarządzanej było przyłączone. Jeśli host wymaga zaczepienia, środowisko uruchomieniowe nie w tekście wywołania.
Host zazwyczaj wymaga haka, w którym musi dostosować stan zmiennoprzecinkowa lub po otrzymaniu powiadomienia, że wywołanie wchodzi w stan, w którym host nie może śledzić żądań środowiska uruchomieniowego dla pamięci lub żadnych blokad. Gdy host wymaga przypinania wywołania, środowisko uruchomieniowe powiadamia o hoście przejść do i z kodu zarządzanego przy użyciu wywołań enterRuntime, LeaveRuntime, ReverseEnterRuntime i ReverseLeaveRuntime.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: MSCorEE.h
Biblioteki: Uwzględnione jako zasób w MSCorEE.dll
.NET Framework wersje: dostępne od wersji 2.0