Función KeSetTargetProcessorDpc (ntddk.h)

La rutina KeSetTargetProcessorDpc especifica el procesador en el que se ejecutará una rutina DPC.

Sintaxis

void KeSetTargetProcessorDpc(
  [in, out] PRKDPC Dpc,
  [in]      CCHAR  Number
);

Parámetros

[in, out] Dpc

Puntero al objeto DPC del autor de la llamada, que KeInitializeDpc ya inicializó.

[in] Number

Especifica el número de base cero del procesador de destino en el que se debe poner en cola y ejecutar el DPC.

Valor devuelto

None

Observaciones

En los sistemas multiprocesador, cada procesador tiene su propia cola DPC. La rutina KeSetTargetProcessorDpc especifica qué cola del procesador debe usar el sistema cuando el controlador llama a KeInsertQueueDpc o IoRequestDpc para poner en cola un DPC que se va a ejecutar más adelante.

A partir de Windows Vista, también puedes usar KeSetTargetProcessorDpc para especificar el procesador de destino para los DPC con subprocesos.

Una llamada a KeSetTargetProcessorDpc que se produce después de que se haya puesto en cola un objeto DPC no tiene ningún efecto en la selección de un procesador para que se ejecute la rutina DPC. Para controlar la selección del procesador de destino, debe producirse una llamada a KeSetTargetProcessorDpc antes de la llamada a KeInsertQueueDpc o IoRequestDpc que pone en cola el objeto DPC.

Para obtener más información sobre las colas de DPC, consulte Organización de colas de DPC.

Windows 7 y versiones posteriores de los grupos de procesadores de soporte técnico de Windows. Los controladores diseñados para controlar la información sobre los grupos de procesadores deben usar la rutina KeSetTargetProcessorDpcEx , que especifica un grupo de procesadores, en lugar de KeSetTargetProcessorDpc, que no lo hace. Sin embargo, la implementación de KeSetTargetProcessorDpc 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, si Number es menor que el número de procesadores lógicos activos en el grupo 0, KeSetTargetProcessorDpc establece el destino del DPC en el procesador del grupo 0 especificado por Number. De lo contrario, el destino DPC no cambia.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado ntddk.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL Cualquier nivel

Consulte también

IoRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

KeSetImportanceDpc

KeSetTargetProcessorDpcEx