Função KeSetTargetProcessorDpc (wdm.h)

A rotina KeSetTargetProcessorDpc especifica o processador no qual uma rotina DPC será executada.

Sintaxe

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

Parâmetros

[in, out] Dpc

Ponteiro para o objeto DPC do chamador, que KeInitializeDpc já inicializou.

[in] Number

Especifica o número baseado em zero do processador de destino no qual o DPC deve ser enfileirado e executado.

Retornar valor

Nenhum

Comentários

Em sistemas multiprocessadores, cada processador tem sua própria fila de DPC. A rotina KeSetTargetProcessorDpc especifica qual fila do processador o sistema deve usar quando o driver chama KeInsertQueueDpc ou IoRequestDpc para enfileirar um DPC a ser executado posteriormente.

A partir do Windows Vista, você também pode usar KeSetTargetProcessorDpc para especificar o processador de destino para DPCs encadeados.

Uma chamada para KeSetTargetProcessorDpcEx que ocorre depois que um objeto DPC foi enfileirado não tem efeito na seleção de um processador para a rotina DPC a ser executada. Para controlar a seleção do processador de destino, uma chamada KeSetTargetProcessorDpc deve ocorrer antes da chamada para KeInsertQueueDpc ou IoRequestDpc que enfileira o objeto DPC.

Para obter mais informações sobre filas DPC, consulte Organização de Filas DPC.

O Windows 7 e versões posteriores do Windows dão suporte a grupos de processadores. Os drivers projetados para lidar com informações sobre grupos de processadores devem usar a rotina KeSetTargetProcessorDpcEx , que especifica um grupo de processadores, em vez de KeSetTargetProcessorDpc, o que não acontece. No entanto, a implementação de KeSetTargetProcessorDpc no Windows 7 e versões posteriores do Windows fornece compatibilidade para drivers que foram gravados para versões anteriores do Windows, que não dão suporte a grupos de processadores. Nesta implementação, se Number for menor que o número de processadores lógicos ativos no grupo 0, KeSetTargetProcessorDpc definirá o destino do DPC para o processador no grupo 0 especificado por Number. Caso contrário, o destino DPC não será alterado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualquer nível

Confira também

IoRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

KeSetImportanceDpc

KeSetTargetProcessorDpcEx