Compartir a través de


Función KeSetTargetProcessorDpc (wdm.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 inicializado.

[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

Ninguno

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 DPC subprocesos.

Una llamada a KeSetTargetProcessorDpcEx que se produce después de que se ha 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 KeSetTargetProcessorD pc antes de que se realice la llamada a KeInsertQueueDpc o ioRequestDpc que pone en cola el objeto DPC.

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

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

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL Cualquier nivel

Consulte también

ioRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

keSetImportanceDpc

KeSetTargetProcessorDpcEx