Función GetThreadPriority (processthreadsapi.h)

Recupera el valor de prioridad del subproceso especificado. Este valor, junto con la clase de prioridad del proceso del subproceso, determina el nivel de prioridad base del subproceso.

Sintaxis

int GetThreadPriority(
  [in] HANDLE hThread
);

Parámetros

[in] hThread

Identificador del subproceso.

El identificador debe tener el derecho de acceso THREAD_QUERY_INFORMATION o THREAD_QUERY_LIMITED_INFORMATION . Para obtener más información, consulte Derechos de acceso y seguridad de subprocesos.

Windows Server 2003: El identificador debe tener el derecho de acceso THREAD_QUERY_INFORMATION .

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es el nivel de prioridad del subproceso.

Si se produce un error en la función, el valor devuelto es THREAD_PRIORITY_ERROR_RETURN. Para obtener información de error extendida, llame a GetLastError.

Windows Phone 8.1: esta función siempre devolverá THREAD_PRIORITY_NORMAL.

El nivel de prioridad del subproceso es uno de los valores siguientes.

Código o valor devuelto Descripción
THREAD_PRIORITY_ABOVE_NORMAL
1
Prioridad 1 punto por encima de la clase de prioridad.
THREAD_PRIORITY_BELOW_NORMAL
-1
Prioridad 1 punto por debajo de la clase de prioridad.
THREAD_PRIORITY_HIGHEST
2
Prioridad 2 puntos por encima de la clase de prioridad.
THREAD_PRIORITY_IDLE
-15
Prioridad base de 1 para los procesos de IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS o HIGH_PRIORITY_CLASS , y una prioridad base de 16 para procesos de REALTIME_PRIORITY_CLASS .
THREAD_PRIORITY_LOWEST
-2
Prioridad 2 puntos por debajo de la clase de prioridad.
THREAD_PRIORITY_NORMAL
0
Prioridad normal para la clase de prioridad.
THREAD_PRIORITY_TIME_CRITICAL
15
Nivel de prioridad base de 15 para IDLE_PRIORITY_CLASS, BELOW_NORMAL_PRIORITY_CLASS, NORMAL_PRIORITY_CLASS, ABOVE_NORMAL_PRIORITY_CLASS o procesos de HIGH_PRIORITY_CLASS , y un nivel de prioridad base de 31 para procesos de REALTIME_PRIORITY_CLASS .
 

Si el subproceso tiene la clase base REALTIME_PRIORITY_CLASS , esta función también puede devolver uno de los siguientes valores: -7, -6, -5, -4, -3, 3, 4, 5 o 6. Para obtener más información, consulte Programación de prioridades.

Comentarios

Cada subproceso tiene un nivel de prioridad base determinado por el valor de prioridad del subproceso y la clase de prioridad de su proceso. El sistema operativo usa el nivel de prioridad base de todos los subprocesos ejecutables para determinar qué subproceso obtiene el siguiente segmento de tiempo de CPU. Los subprocesos se programan de forma round robin en cada nivel de prioridad y solo cuando no hay subprocesos ejecutables en un nivel superior se programarán subprocesos en un nivel inferior.

Para una tabla que muestra los niveles de prioridad base para cada combinación de la clase de prioridad y el valor de prioridad de subproceso, consulte la función SetPriorityClass .

Windows 8.1 y Windows Server 2012 R2: esta función es compatible con las aplicaciones de la Tienda Windows.

Windows Phone aplicaciones de la Tienda 8.1:Windows Phone pueden llamar a esta función, pero no tiene ningún efecto.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado processthreadsapi.h (incluye Windows.h en Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib; WindowsPhoneCore.lib en Windows Phone 8.1
Archivo DLL Kernel32.dll; KernelBase.dll en Windows Phone 8.1

Consulte también

GetPriorityClass

OpenThread

Funciones de proceso y subproceso

Prioridades de programación

SetPriorityClass

SetThreadPriority

Subprocesos