Metodo IHostTaskManager::BeginThreadAffinity
Notifica all'host che codice gestito sta entrando in una fase in cui l'attività corrente non deve essere spostata in un altro thread del sistema operativo.
HRESULT BeginThreadAffinity ();
Valore restituito
HRESULT |
Oggetto di descrizione |
---|---|
S_OK |
BeginThreadAffinity ha restituito correttamente un valore. |
HOST_E_CLRNOTAVAILABLE |
Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata. |
HOST_E_TIMEOUT |
Timeout della chiamata. |
HOST_E_NOT_OWNER |
Il chiamante non è il proprietario del blocco. |
HOST_E_ABANDONED |
Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento. |
E_FAIL |
Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le successive chiamate ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE. |
Note
CLR chiama in genere IHostTaskManager::BeginThreadAffinity nel contesto di una chiamata a Thread.BeginThreadAffinity. L'attività corrente non deve essere ripianificata fino a quando non viene effettuata una chiamata corrispondente a IHostTaskManager::EndThreadAffinity. Le attività possono essere disattivate, ma quando vengono riattivate devono essere assegnate allo stesso thread del sistema operativo dal quale erano state disattivate. Le chiamate annidate a BeginThreadAffinity non hanno alcun effetto in quanto la chiamata fa riferimento all'attività corrente.
Requisiti
Piattaforme: vedere Requisiti di sistema di .NET Framework.
Intestazione: MSCorEE.h
Libreria: inclusa come risorsa in MSCorEE.dll
Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0