Partager via


IDE_HW_INTERRUPT fonction de rappel (irb.h)

Le IdeHwInterrupt routine de pilote miniport gère les interruptions de l’adaptateur de bus hôte (HBA) auquel le contrôleur du pilote miniport est connecté.

Remarque Le pilote de port ATA et les modèles de pilotes miniport ATA peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser le du pilote Storport et modèles de pilotes Storport miniport.
 

Syntaxe

IDE_HW_INTERRUPT IdeHwInterrupt;

BOOLEAN IdeHwInterrupt(
  [in] PVOID ChannelExtension
)
{...}

Paramètres

[in] ChannelExtension

Pointeur vers l’extension de canal.

Valeur de retour

AtaHwInterrrupt retourne TRUE si l’interruption est générée par l’un des canaux du contrôleur. Si un canal n’a pas généré l’interruption, la routine doit retourner FALSE le plus rapidement possible.

Remarques

La routine IdeHwInterrupt effectue les opérations d’E/S pilotées par interruption.

Si le canal indiqué n’a pas généré l’interruption, le pilote miniport doit effectuer un deuxième appel (récursif) à la routine IdeHwInterrupt pour gérer les interruptions destinées à l’autre canal du contrôleur.

Si le pilote miniport nécessite beaucoup de temps pour traiter l’interruption, il doit suivre les étapes suivantes :

  1. Ignorez l’interruption sur l’adaptateur HBA.
  2. Désactivez les interruptions sur le canal indiqué par le paramètre ChannelExtension.
  3. Demandez une routine de travail à l’aide de AtaPortRequestWorkerRoutine.
  4. Effectuez un traitement supplémentaire dans la routine de travail.
  5. Activez les interruptions sur le canal.
Les routines de port ATA suivantes ne doivent pas être appelées à partir de la routine IdeHwInterrupt : Toutefois, le pilote miniport peut demander une routine de travail et effectuer des appels dans la routine de travail.

La routine de travail doit effacer l’interruption sur l’adaptateur HBA avant de retourner TRUE.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête irb.h (include Irb.h)

Voir aussi

AtaPortCompleteAllActiveRequests

AtaPortDeviceBusy

AtaPortRequestWorkerRoutine