IHostTaskManager::BeginThreadAffinity (Método)
Notifica al host que el código administrado está entrando en un período en el que la tarea actual no se debe mover a otro subproceso del sistema operativo.
HRESULT BeginThreadAffinity ();
Valor devuelto
HRESULT |
Descripción |
---|---|
S_OK |
BeginThreadAffinity finalizó correctamente. |
HOST_E_CLRNOTAVAILABLE |
Common Language Runtime (CLR) no se ha cargado en un proceso o está en un estado en el que no puede ejecutar el código administrado o procesar la llamada correctamente. |
HOST_E_TIMEOUT |
Se agotó el tiempo de espera de la llamada. |
HOST_E_NOT_OWNER |
El llamador no posee el bloqueo. |
HOST_E_ABANDONED |
Se canceló un evento mientras una fibra o un subproceso bloqueado estaba esperándole. |
E_FAIL |
Se ha producido un error catastrófico desconocido. Si un método devuelve E_FAIL, CLR no se puede seguir utilizando en el proceso. Las llamadas subsiguientes a métodos de hospedaje devuelven HOST_E_CLRNOTAVAILABLE. |
Comentarios
CLR llama normalmente a IHostTaskManager::BeginThreadAffinity en el contexto de una llamada a Thread.BeginThreadAffinity. La tarea actual no se debe reprogramar hasta que se realice una llamada correspondiente a IHostTaskManager::EndThreadAffinity. Se puede salir de las tareas, pero al volver a ellas, se deben asignar al mismo subproceso del sistema operativo en el que estaban. Las llamadas anidadas a BeginThreadAffinity no tienen ningún efecto, porque la llamada hace referencia a la tarea actual.
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: MSCorEE.h
Biblioteca: Se incluye como recurso en MsCorEE.dll
Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0