WdmlibIoGetAffinityInterrupt, fonction (iointex.h)
La fonction WdmlibIoGetAffinityInterrupt obtient l’affinité de groupe d’un objet d’interruption.
Syntaxe
NTSTATUS WdmlibIoGetAffinityInterrupt(
[in] PKINTERRUPT InterruptObject,
[out] PGROUP_AFFINITY GroupAffinity
);
Paramètres
[in] InterruptObject
Pointeur vers un objet d’interruption. Ce paramètre pointe vers une structure KINTERRUPT qui représente une inscription par un pilote pour recevoir des interruptions de périphérique. La structure est opaque. L’appelant a obtenu cette valeur de pointeur dans un appel précédent à la routine WdmlibIoConnectInterruptEx ou IoConnectInterrupt routine.
[out] GroupAffinity
Pointeur vers une mémoire tampon allouée par l’appelant dans laquelle la routine écrit une structure GROUP_AFFINITY qui spécifie l’affinité de groupe de l’objet d’interruption vers lequel InterruptObject pointe. Cette mémoire tampon doit être suffisamment grande pour contenir la structure.
Valeur de retour
WdmlibIoGetAffinityInterrupt retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles sont les suivantes :
Retourner le code | Description |
---|---|
|
Le paramètre InterruptObject ne pointe pas vers un objet d’interruption valide. |
Remarques
Un pilote en mode noyau appelle cette routine pour obtenir l’ensemble des processeurs logiques sur lesquels la routine de service d’interruption inscrite du pilote (ISR) peut recevoir des interruptions d’appareil. Cet ensemble de processeurs est décrit par une structure GROUP_AFFINITY, qui spécifie un numéro de groupe et un masque d’affinité. Tous les processeurs affectés à une inscription ISR particulière doivent appartenir au même groupe.
Le pilote a inscrit l’ISR dans un appel précédent à la routine WdmlibIoConnectInterruptEx ou IoConnectInterrupt.
Dans Windows 7, WdmlibIoConnectInterruptEx et IoConnectInterrupt affecter des interruptions d’appareil uniquement aux processeurs logiques du groupe 0. Il s’agit par défaut. Un pilote peut spécifier une affinité d’interruption différente pour son appareil dans un fichier INF ou dans sa réponse à une demande de IRP_MN_FILTER_RESOURCE_REQUIREMENTS. Pour plus d’informations sur la modification de l’affinité d’interruption, consultez le Systèmes de prise en charge qui ont plus de 64 processeurs livre blanc sur le site web du WHDC.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible dans Windows 7 et versions ultérieures de Windows. |
plateforme cible | Windows |
d’en-tête | iointex.h (include Iointex.h, Wdm.h, Ntddk.h, Ntifs.h) |
bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |