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 |
---|---|
|
Prioridad 1 punto por encima de la clase de prioridad. |
|
Prioridad 1 punto por debajo de la clase de prioridad. |
|
Prioridad 2 puntos por encima de la clase de prioridad. |
|
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 . |
|
Prioridad 2 puntos por debajo de la clase de prioridad. |
|
Prioridad normal para la clase de prioridad. |
|
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 |