IHostTaskManager::BeginThreadAffinity (Método)
Notifica al host que el código administrado está escribiendo un periodo en el que la tarea actual no se debe mover a otro subproceso del sistema operativo.
Sintaxis
HRESULT BeginThreadAffinity ();
Valor devuelto
HRESULT | Descripción |
---|---|
S_OK | BeginThreadAffinity se devolvió correctamente. |
HOST_E_CLRNOTAVAILABLE | El Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar 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 autor de la llamada no es el propietario del bloqueo. |
HOST_E_ABANDONED | Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando. |
E_FAIL | Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE. |
Comentarios
CLR normalmente llama IHostTaskManager::BeginThreadAffinity
en el contexto de una llamada a Thread.BeginThreadAffinity. La tarea actual no se debe volver a programar hasta que se realice una llamada correspondiente a IHostTaskManager::EndThreadAffinity. Las tareas se pueden desactivar, pero cuando se vuelven a cambiar, deben asignarse al mismo subproceso del sistema operativo desde el que se cambiaron. Las llamadas anidadas a BeginThreadAffinity
no tienen ningún efecto, ya que la llamada hace referencia a la tarea actual.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: MSCorEE.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 2.0