IHostTaskManager::BeginThreadAffinity-Methode
Benachrichtigt den Host, dass verwalteter Code in eine Phase eintritt, in der die aktuelle Aufgabe nicht in einen anderen Betriebssystemthread verschoben werden darf.
HRESULT BeginThreadAffinity ();
Rückgabewert
HRESULT |
Beschreibungen |
---|---|
S_OK |
BeginThreadAffinity erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE |
Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT |
Der Aufruf hat das Zeitlimit überschritten. |
HOST_E_NOT_OWNER |
Der Aufrufer ist nicht Besitzer der Sperre. |
HOST_E_ABANDONED |
Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat. |
E_FAIL |
Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
Hinweise
Die CLR führt Aufrufe von IHostTaskManager::BeginThreadAffinity i. d. R. im Kontext eines Aufrufs von Thread.BeginThreadAffinity aus. Die aktuelle Aufgabe darf erst neu geplant werden, nachdem ein entsprechender Aufruf von IHostTaskManager::EndThreadAffinity erfolgt ist. Aufgaben können beendet werden. Wenn eine Aufgabe wieder gestartet wird, muss sie jedoch demselben Betriebssystemthread zugeordnet sein, in dem sie beendet wurde. Geschachtelte Aufrufe von BeginThreadAffinity haben keine Auswirkungen, da sich der Aufruf auf die aktuelle Aufgabe bezieht.
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: MSCorEE.h
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0