Función KeQueryActiveProcessorCountEx (ntddk.h)
La rutina KeQueryActiveProcessorCountEx devuelve el número de procesadores lógicos activos de un grupo especificado en un sistema multiprocesador o en todo el sistema.
Sintaxis
ULONG KeQueryActiveProcessorCountEx(
[in] USHORT GroupNumber
);
Parámetros
[in] GroupNumber
Número de grupo. Si un sistema multiprocesador contiene n grupos, los números de grupo válidos oscilan entre 0 y n-1. Para contar todos los procesadores activos de todos los grupos del sistema, establezca este parámetro en ALL_PROCESSOR_GROUPS, que se define en los archivos de encabezado Winnt.h y Ntdef.h.
Valor devuelto
KeQueryActiveProcessorCountEx devuelve el número de procesadores lógicos activos del grupo. Si GroupNumber no es un número de grupo válido y no es ALL_PROCESSOR_GROUPS, devuelve cero.
Comentarios
Un procesador lógico activo es un procesador lógico que Windows ha iniciado y agregado a un sistema multiprocesador. El término procesador activo se aplica a un procesador que está disponible para realizar el trabajo de procesamiento, independientemente de si el procesador está realizando actualmente el trabajo de procesamiento o está inactivo. En algunos sistemas, el número de procesadores activos puede permanecer sin cambios desde el inicio del sistema hasta el apagado. En otros sistemas, Windows podría agregar de forma dinámica procesadores activos mientras se ejecuta el sistema. Windows nunca quita procesadores activos de un sistema. Por lo tanto, el número de procesadores activos en un sistema multiprocesador puede aumentar entre el inicio y el apagado del sistema, pero este número nunca disminuye.
Una rutina relacionada, KeQueryActiveProcessorCount, devuelve un recuento de procesadores activo, pero esta rutina, a diferencia de KeQueryActiveProcessorCountEx, no acepta un número de grupo como parámetro de entrada. En Windows 7 y versiones posteriores del sistema operativo Windows, KeQueryActiveProcessorCount devuelve el recuento de procesadores activos en el grupo 0, que es compatible con el comportamiento de esta rutina en versiones anteriores de Windows que no admiten grupos. Este comportamiento garantiza que los controladores existentes que llaman a KeQueryActiveProcessorCount y que no usen características orientadas a grupos se ejecutarán correctamente en sistemas multiprocesador que tengan dos o más grupos. Sin embargo, los controladores que usan las características orientadas a grupos en Windows 7 y versiones posteriores del sistema operativo Windows deben llamar a KeQueryActiveProcessorCountEx en lugar de KeQueryActiveProcessorCount.
Para obtener un ejemplo de código que usa KeQueryActiveProcessorCountEx, vea KeGetProcessorNumberFromIndex.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Windows 7 y versiones posteriores de Windows. |
Plataforma de destino | Universal |
Encabezado | ntddk.h (incluya Ntddk.h, Wdm.h, Ntddk.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | Cualquier nivel |