PSDBUS_ACKNOWLEDGE_INT_ROUTINE fonction de rappel (ntddsdsd.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é le traitement de 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 retournée
Retourne STATUS_UNSUCCESSFUL si l’opération réussit, ou le message d’erreur approprié si l’opération échoue.
Remarques
Lorsqu’un appareil SD affirme une interruption, le pilote de bus désactive l’interruption déclarée par l’appareil 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, elle doit reconnaître qu’elle 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 à partir 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 SD carte n’est pas contraint de reconnaître les interruptions dans l’ordre dans lequel elles sont reçues. En règle générale, un pilote pour un carte SD peut signaler plusieurs interruptions au pilote de bus (voir PSDBUS_CALLBACK_ROUTINE) avant de les reconnaître. Dans des conditions de fonctionnement normales, un pilote SD carte reporte la réception d’une interruption jusqu’à ce que l’état d’interruption sur l’appareil soit effacé.
L’appelant doit être en cours d’exécution à IRQL <= DISPATCH_LEVEL lorsqu’il reconnaît qu’il a terminé le traitement d’une interruption.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ntddsdsd.h (inclure Ntddsd.h) |
IRQL | <=DISPATCH_LEVEL (voir la section Remarques).) |