Funzione NdisMQueueDpc (ndis.h)

I driver miniport NDIS chiamano la funzione NdisMQueueDpc per pianificare le chiamate DPC sulle CPU.

Sintassi

ULONG NdisMQueueDpc(
  [in]           NDIS_HANDLE NdisInterruptHandle,
  [in]           ULONG       MessageId,
  [in]           ULONG       TargetProcessors,
  [in, optional] PVOID       MiniportDpcContext
);

Parametri

[in] NdisInterruptHandle

Handle di interruzione ottenuto dal driver miniport in una chiamata precedente al Funzione NdisMRegisterInterruptEx .

[in] MessageId

ID messaggio MSI per il DPC. Se il DPC è per un interrupt basato su riga, questo parametro non viene usato e deve essere impostato su zero. In caso contrario, MessageId è un indice dell'oggetto IO_INTERRUPT_MESSAGE_INFO_ENTRY strutture all'interno di un IO_INTERRUPT_MESSAGE_INFO struttura. NDIS passa un puntatore alla struttura di IO_INTERRUPT_MESSAGE_INFO associata nel membro MessageInfoTable quando il driver esegue correttamente la registrazione per MSI con la funzione NdisMRegisterInterruptEx .

[in] TargetProcessors

Bitmap che indica i processori di destinazione per i quali NDIS deve pianificare un DPC. Ogni bit in TargetProcessors identifica una CPU. Se il chiamante imposta il bit 0, NDIS pianifica un DPC per CPU 0. Se il chiamante imposta il bit 1, NDIS pianifica un DPC per CPU 1 e così via.

[in, optional] MiniportDpcContext

Puntatore a un'area di contesto specificata dal chiamante. NDIS passa questo puntatore al parametro MiniportDpcContext di MiniportInterruptDPC e Funzioni MiniportMessageInterruptDPC .

Valore restituito

NdisMQueueDpc restituisce una bitmap che indica i processori di destinazione per cui NDIS ha pianificato correttamente un DPC. Ogni bit nel valore restituito identifica una CPU. Se NDIS imposta il bit 0, NDIS ha pianificato un DPC per CPU 0. Se NDIS imposta il bit 1, NDIS ha pianificato un DPC per CPU 1 e così via.

Se il driver ha richiesto un DPC per una CPU e NDIS indica che non ha pianificato tale DPC, il DPC non è stato pianificato perché un DPC era già pianificato per tale CPU.

Commenti

NDIS chiama MiniportInterruptDPC o MiniportMessageInterruptDPC per completare l'elaborazione posticipata di un interrupt. Il driver miniport può chiamare NdisMQueueDpc per richiedere ulteriori chiamate DPC per altri processori.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e 6.1. Per NDIS 6.20 e versioni successive, usare NdisMQueueDpcEx.
Piattaforma di destinazione Universale
Intestazione ndis.h (include Ndis.h)
Libreria Ndis.lib
IRQL Qualsiasi livello

Vedi anche

MiniportInterruptDPC

MiniportMessageInterruptDPC

NdisMQueueDpcEx

NdisMRegisterInterruptEx