Compartir a través de


Función KeGetCurrentProcessorNumber (ntddk.h)

La rutina KeGetCurrentProcessorNumber devuelve el número asignado por el sistema del procesador actual en el que se ejecuta el autor de la llamada.

Sintaxis

ULONG KeGetCurrentProcessorNumber();

Valor devuelto

KeGetCurrentProcessorNumber devuelve un valor ULONG que representa el procesador en el que se está ejecutando el autor de la llamada.

Observaciones

se puede llamar a keGetCurrentProcessorNumber para depurar el uso del bloqueo de número en máquinas SMP durante el desarrollo de controladores. Un controlador también podría llamar a KeGetCurrentProcessorNumber si mantiene algunos datos por procesador e intentó reducir la contención de la línea de caché.

El número de procesadores de una máquina SMP es un valor de base cero.

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 KeGetCurrentProcessorNumberEx, que especifica un grupo de procesadores, en lugar de KeGetCurrentProcessorNumber, que no. Sin embargo, la implementación de KeGetCurrentProcessorNumber en Windows 7 y versiones posteriores de Windows proporciona compatibilidad con controladores escritos para versiones anteriores de Windows. En esta implementación, KeGetCurrentProcessorNumber devuelve el número de procesador relativo al grupo si el autor de la llamada se ejecuta en un procesador del grupo 0, que es compatible con el comportamiento de esta rutina en versiones anteriores de Windows que no admiten grupos de procesadores. Si el autor de la llamada se ejecuta en un procesador de cualquier grupo distinto del grupo 0, esta rutina devuelve un número menor que el número de procesadores del grupo 0. Este comportamiento garantiza que el valor devuelto sea menor que el valor devuelto de la rutina KeQueryActiveProcessorCount.

Si la llamada a keGetCurrentProcessorNumber se produce en IRQL <= APC_LEVEL, puede producirse un conmutador de procesador entre instrucciones. Por lo tanto, los autores de llamadas de KeGetCurrentProcessorNumber normalmente se ejecutan en IRQL >= DISPATCH_LEVEL.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Escritorio
encabezado de ntddk.h (incluya Ntddk.h)
irQL Consulte la sección Comentarios.
reglas de cumplimiento de DDI Irql_Miscellaneous_Function(ndis)

Consulte también

keGetCurrentProcessorNumberEx

keQueryActiveProcessorCount