Función KeQueryActiveProcessorCount (wdm.h)
La rutina KeQueryActiveProcessorCount devuelve el número de procesadores actualmente activos.
Sintaxis
ULONG KeQueryActiveProcessorCount(
[out, optional] PKAFFINITY ActiveProcessors
);
Parámetros
[out, optional] ActiveProcessors
Puntero a una KAFFINITYvariable con tipo en la que la rutina escribe una máscara de bits que representa el conjunto de procesadores activos actualmente. En un entorno de adición activa, esta máscara puede cambiar durante el tiempo de ejecución. Este parámetro es opcional y se puede especificar como NULL si el autor de la llamada no requiere la máscara de los procesadores activos.
Valor devuelto
KeQueryActiveProcessorCount devuelve el número de procesadores actualmente activos.
Observaciones
Un controlador de dispositivo llama a la rutina KeQueryActiveProcessorCount para recuperar el número de procesadores actualmente activos. Los controladores de dispositivo creados para Windows Vista y versiones posteriores del sistema operativo Windows no deben usar la variable de kernel KeNumberProcessors para este fin.
Los autores de llamadas no pueden suponer que el KeQueryActiveProcessorCount rutina asigna procesadores a bits del KAFFINITY valor consecutivo, o que la rutina devolverá la misma máscara de bits cada vez que se llama.
Los autores de llamadas también deben tener en cuenta que el valor devuelto por keQueryActiveProcessorCount puede cambiar en tiempo de ejecución en versiones de Windows que admiten la funcionalidad de CPU de adición activa.
Si es necesario, regístrese para recibir notificaciones de cambios en el número de procesadores llamando a la rutina de KeRegisterProcessorChangeCallback.
Para consultar solo la máscara de afinidad sin obtener el número de procesadores activos, use KeQueryActiveProcessors.
Windows 7 y versiones posteriores de Windows admiten grupos de procesadores. Los controladores diseñados para controlar la información sobre los grupos de procesadores deben usar la rutina KeQueryActiveProcessorCountEx, que especifica un grupo de procesadores, en lugar de KeQueryActiveProcessorCount, que no. Sin embargo, la implementación de KeQueryActiveProcessorCount en Windows 7 y versiones posteriores de Windows proporciona compatibilidad con controladores escritos para versiones anteriores de Windows, que no admiten grupos de procesadores. En esta implementación, KeQueryActiveProcessorCount devuelve el número de procesadores lógicos activos del grupo 0 y escribe una máscara de afinidad en *ActiveProcessors que especifica el conjunto de procesadores lógicos activos en el grupo 0.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Vista y versiones posteriores de Windows. |
de la plataforma de destino de | Universal |
encabezado de | wdm.h (include Wdm.h, Ntddk.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | Cualquier nivel |