Condividi tramite


Funzione KeSetTargetProcessorDpc (ntddk.h)

La routine KeSetTargetProcessorDpc specifica il processore in cui verrà eseguita una routine DPC.

Sintassi

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

Parametri

[in, out] Dpc

Puntatore all'oggetto DPC del chiamante, che KeInitializeDpc già inizializzato.

[in] Number

Specifica il numero in base zero del processore di destinazione in cui deve essere accodato ed eseguito il DPC.

Valore restituito

Nessuno

Osservazioni

Nei sistemi multiprocessore ogni processore ha una propria coda DPC. La routine KeSetTargetProcessorDpc specifica quale coda del processore deve usare quando il driver chiama KeInsertQueueDpc o IoRequestDpc per accodare un DPC da eseguire in un secondo momento.

A partire da Windows Vista, è anche possibile usare KeSetTargetProcessorDpc per specificare il processore di destinazione per controller di dominio a thread.

Una chiamata a KeSetTargetProcessorDpc che si verifica dopo che un oggetto DPC è stato accodato non ha alcun effetto sulla selezione di un processore per l'esecuzione della routine DPC. Per controllare la selezione del processore di destinazione, è necessario eseguire una chiamata KeSetTargetProcessorDpc prima della chiamata a KeInsertQueueDpc o IoRequestDpc che accoda l'oggetto DPC.

Per altre informazioni sulle code DPC, vedere 'organizzazione delle code DPC.

Windows 7 e versioni successive di Windows supportano i gruppi di processori. I driver progettati per gestire le informazioni sui gruppi di processori devono usare la routine KeSetTargetProcessorDpcEx, che specifica un gruppo di processori, anziché KeSetTargetProcessorDpc, che non lo fa. Tuttavia, l'implementazione di KeSetTargetProcessorDpc in Windows 7 e versioni successive di Windows offre la compatibilità per i driver scritti per le versioni precedenti di Windows, che non supportano i gruppi di processori. In questa implementazione, se Numero è minore del numero di processori logici attivi nel gruppo 0, KeSetTargetProcessorDpc imposta la destinazione per il DPC sul processore nel gruppo 0 specificato da Number. In caso contrario, la destinazione DPC non cambia.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 2000.
piattaforma di destinazione Universale
intestazione ntddk.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL Qualsiasi livello

Vedere anche

IoRequestDpc

KeGetCurrentProcessorNumber

KeInitializeDpc

KeInsertQueueDpc

KeSetImportanceDpc

KeSetTargetProcessorDpcEx