Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les pilotes miniport appellent la fonction NdisMSynchronizeWithInterruptEx pour synchroniser l’exécution d’une fonction fournie par le pilote miniport avec la fonction MiniportInterrupt.
Syntaxe
BOOLEAN NdisMSynchronizeWithInterruptEx(
[in] NDIS_HANDLE NdisInterruptHandle,
[in] ULONG MessageId,
[in] MINIPORT_SYNCHRONIZE_INTERRUPT_HANDLER SynchronizeFunction,
[in] PVOID SynchronizeFunction,
[in] PVOID SynchronizeContext
);
Paramètres
[in] NdisInterruptHandle
Handle d’interruption que le pilote miniport obtenu dans un appel précédent au fonction NdisMRegisterInterruptEx.
[in] MessageId
Interruption signalée par un message avec laquelle le pilote doit se synchroniser. Si NDIS n’a pas accordé d’interruptions signalées par le message pour le pilote, NDIS ignore ce paramètre. MessageId est un index du structures IO_INTERRUPT_MESSAGE_INFO_ENTRY à l’intérieur d’un structure IO_INTERRUPT_MESSAGE_INFO. NDIS transmet un pointeur à la structure de IO_INTERRUPT_MESSAGE_INFO associée au membre MessageInfoTable lorsque le pilote s’inscrit correctement pour MSI auprès de la fonction NdisMRegisterInterruptEx.
[in] SynchronizeFunction
Point d’entrée du pilote Fonction MiniportSynchronizeInterrupt.
[in] SynchronizeFunction
Point d’entrée du pilote Fonction MiniportSynchronizeInterrupt.
[in] SynchronizeContext
Pointeur vers une zone de contexte déterminée par miniport-driver qui est passée à la fonction MiniportSynchronizeInterrupt à SyncContext.
Valeur de retour
NdisMSynchronizeWithInterruptEx retourne la valeur booléenne qui MiniportSynchronizeInterrupt retourne.
Remarques
Les pilotes miniport qui inscrivent une interruption avec NdisMRegisterInterruptEx utiliser NdisMSynchronizeWithInterruptEx. Valeur que le Fonction MiniportSynchronizeInterrupt est également retournée par NdisMSynchronizeWithInterruptEx. Cette valeur propagée fournit l’état à l’appelant.
Toute fonction de pilote miniport qui partage des ressources avec toute autre fonction de pilote qui s’exécute sur DIRQL doit utiliser NdisMSynchronizeWithInterruptEx pour synchroniser son accès à ces ressources. La fonction MiniportSynchronizeInterrupt s’exécute également sur DIRQL, et les ressources partagées sont protégées par un verrou de rotation alloué par le système. Ainsi, les ressources partagées sont protégées contre l’accès simultané par la fonction MiniportInterrupt et l’appelant.
NdisMSynchronizeWithInterruptEx libère le verrou de rotation système et restaure le runtime d’intégration d’origine de son appelant avant de retourner le contrôle.
Pour plus d’informations sur l’acquisition et la publication de verrous de rotation NDIS, consultez synchronisation et notification dans les pilotes réseau.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Prise en charge dans NDIS 6.0 et versions ultérieures. |
plateforme cible | Universel |
d’en-tête | ndis.h (include Ndis.h, Video.h) |
bibliothèque | Ndis.lib |
IRQL | <= DIRQL |
règles de conformité DDI | NdisMDeregisterInterruptEx(ndis) |