IHostTaskManager::BeginThreadAffinity — Metoda
Powiadamia hosta, że kod zarządzany wprowadza okres, w którym bieżące zadanie nie może zostać przeniesione do innego wątku systemu operacyjnego.
Składnia
HRESULT BeginThreadAffinity ();
Wartość zwracana
HRESULT | Opis |
---|---|
S_OK | BeginThreadAffinity zwrócone pomyślnie. |
HOST_E_CLRNOTAVAILABLE | Środowisko uruchomieniowe języka wspólnego (CLR) nie zostało załadowane 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 jej używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE. |
Uwagi
ClR zwykle wywołuje IHostTaskManager::BeginThreadAffinity
metodę w kontekście wywołania metody Thread.BeginThreadAffinity. Bieżące zadanie nie może zostać ponownie zaplanowane, dopóki nie zostanie wykonane odpowiednie wywołanie elementu IHostTaskManager::EndThreadAffinity. Zadania można wyłączyć, ale po ich przełączeniu z powrotem muszą być przypisane do tego samego wątku systemu operacyjnego, z którego zostały przełączone. Zagnieżdżone wywołania BeginThreadAffinity
nie mają żadnego wpływu, ponieważ wywołanie odwołuje się do bieżącego zadania.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: MSCorEE.h
Biblioteki: Uwzględnione jako zasób w MSCorEE.dll
wersje .NET Framework: dostępne od wersji 2.0