PSDBUS_ACKNOWLEDGE_INT_ROUTINE fonction de rappel (ntddsd.h)

Le prototype PSDBUS_ACKNOWLEDGE_INT_ROUTINE déclare la routine qu’un pilote de périphérique Secure Digital (SD) doit appeler pour reconnaître au pilote de bus qu’il a terminé de traiter l’interruption.

Syntaxe

PSDBUS_ACKNOWLEDGE_INT_ROUTINE PsdbusAcknowledgeIntRoutine;

NTSTATUS PsdbusAcknowledgeIntRoutine(
  [in] PVOID Context
)
{...}

Paramètres

[in] Context

Contient le contexte d’interface que la routine SdBusOpenInterface retourne dans le membre Context de la structure SDBUS_INTERFACE_STANDARD.

Valeur de retour

Retourne STATUS_UNSUCCESSFUL si l’opération réussit ou si le message d’erreur approprié échoue.

Remarques

Lorsqu’un appareil SD déclare une interruption, le pilote de bus désactive l’interruption que l’appareil a affirmé pour permettre au pilote de périphérique d’effectuer des E/S à IRQL <=DISPATCH_LEVEL. Lorsque la routine de rappel du pilote de périphérique, qui équivaut à une routine de service d’interruption, termine l’effacement de l’interruption, il doit reconnaître qu’il a terminé le traitement des interruptions afin que le pilote de bus puisse réactiver l’interruption désactivée.

Traditionnellement, les pilotes reconnaissent les interruptions en retournant simplement la valeur appropriée de la routine de service d’interruption (ISR). Lorsque les pilotes s’appuient sur cette méthode, ils sont contraints de reconnaître les interruptions dans l’ordre dans lequel ils les reçoivent. En revanche, un pilote de carte SD n’est pas contraint de reconnaître les interruptions dans l’ordre où elles sont reçues. En règle générale, un pilote pour une carte SD peut signaler plusieurs interruptions au pilote de bus (voir PSDBUS_CALLBACK_ROUTINE) avant de les reconnaître. Dans des conditions d’exploitation normales, un pilote de carte SD reporte l’accusé de réception d’une interruption jusqu’à ce que l’état d’interruption sur l’appareil ait été effacé.

L’appelant doit s’exécuter à IRQL <= DISPATCH_LEVEL lorsqu’il reconnaît qu’il a terminé de traiter une interruption.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête ntddsd.h (include Ntddsd.h)
IRQL <=DISPATCH_LEVEL (voir la section Remarques.)

Voir aussi

SDBUS_INTERFACE_STANDARD

SdBusOpenInterface