Função KeSetTargetProcessorDpc (ntddk.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 KeSetTargetProcessorDpc que ocorre depois que um objeto DPC foi enfileirado não tem efeito sobre a 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 o faz. No entanto, a implementação de KeSetTargetProcessorDpc no Windows 7 e versões posteriores do Windows fornece compatibilidade para drivers que foram escritos para versões anteriores do Windows, que não dão suporte a grupos de processadores. Nessa 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 | ntddk.h (inclua Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível |