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 |