NdisMQueueDpc, fonction (ndis.h)

Les pilotes de miniport NDIS appellent la fonction NdisMQueueDpc pour planifier les appels DPC sur les processeurs.

Syntaxe

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

Paramètres

[in] NdisInterruptHandle

Handle d’interruption que le pilote miniport a obtenu lors d’un appel précédent à Fonction NdisMRegisterInterruptEx .

[in] MessageId

ID de message MSI pour le DPC. Si le DPC est destiné à une interruption basée sur une ligne, ce paramètre n’est pas utilisé et doit être défini sur zéro. Sinon, MessageId est un index de IO_INTERRUPT_MESSAGE_INFO_ENTRY structures à l’intérieur d’un IO_INTERRUPT_MESSAGE_INFO structure. NDIS transmet un pointeur à la structure IO_INTERRUPT_MESSAGE_INFO associée au membre MessageInfoTable lorsque le pilote s’inscrit correctement pour MSI avec la fonction NdisMRegisterInterruptEx .

[in] TargetProcessors

Bitmap qui indique les processeurs cibles pour lesquels NDIS doit planifier un DPC. Chaque bit dans TargetProcessors identifie un processeur. Si l’appelant définit le bit 0, NDIS planifie un DPC pour le processeur 0. Si l’appelant définit le bit 1, NDIS planifie un DPC pour cpu 1, et ainsi de suite.

[in, optional] MiniportDpcContext

Pointeur vers une zone de contexte spécifiée par l’appelant. NDIS transmet ce pointeur au paramètre MiniportDpcContext du MiniportInterruptDPC et Fonctions MiniportMessageInterruptDPC .

Valeur retournée

NdisMQueueDpc retourne une bitmap qui indique les processeurs cibles pour lesquels NDIS a correctement planifié un DPC. Chaque bit de la valeur de retour identifie un processeur. Si NDIS définit le bit 0, NDIS a planifié un DPC pour le processeur 0. Si NDIS définit le bit 1, NDIS a planifié un DPC pour le processeur 1, et ainsi de suite.

Si le pilote a demandé un DPC pour un processeur et que NDIS indique qu’il n’a pas planifié cette DPC, la DPC n’a pas été planifiée, car une DPC a déjà été planifiée pour ce processeur.

Remarques

NDIS appelle MiniportInterruptDPC ou MiniportMessageInterruptDPC pour terminer le traitement différé d’une interruption. Le pilote miniport peut appeler NdisMQueueDpc pour demander des appels DPC supplémentaires pour d’autres processeurs.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et 6.1. Pour NDIS 6.20 et versions ultérieures, utilisez NdisMQueueDpcEx.
Plateforme cible Universal
En-tête ndis.h (inclure Ndis.h)
Bibliothèque Ndis.lib
IRQL N’importe quel niveau

Voir aussi

MiniportInterruptDPC

MiniportMessageInterruptDPC

NdisMQueueDpcEx

NdisMRegisterInterruptEx