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 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 para que se ejecute más adelante.

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

Una llamada a KeSetTargetProcessorDpcEx que se produce después de poner 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 DPC, consulte Organización de colas de DPC.

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 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 del 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 wdm.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