PSDBUS_ACKNOWLEDGE_INT_ROUTINE funzione di callback (ntddsd.h)
Il prototipo PSDBUS_ACKNOWLEDGE_INT_ROUTINE dichiara la routine che un driver di dispositivo Secure Digital (SD) deve chiamare per confermare al driver del bus che ha terminato l'elaborazione dell'interrupt.
Sintassi
PSDBUS_ACKNOWLEDGE_INT_ROUTINE PsdbusAcknowledgeIntRoutine;
NTSTATUS PsdbusAcknowledgeIntRoutine(
[in] PVOID Context
)
{...}
Parametri
[in] Context
Contiene il contesto dell'interfaccia restituito dalla routine SdBusOpenInterface nel membro Context della struttura SDBUS_INTERFACE_STANDARD.
Valore restituito
Restituisce STATUS_UNSUCCESSFUL se l'operazione ha esito positivo o il messaggio di errore appropriato se l'operazione ha esito negativo.
Osservazioni
Quando un dispositivo SD asserisce un interrupt, il driver del bus disabilita l'interrupt asserito dal dispositivo per consentire al driver di dispositivo di eseguire operazioni di I/O in IRQL <=DISPATCH_LEVEL. Quando la routine di callback del driver di dispositivo, equivalente a una routine di interruzione del servizio, termina la cancellazione dell'interrupt, deve confermare che l'elaborazione dell'interruzione è stata completata in modo che il driver del bus possa riabilitare l'interrupt disabilitato.
Tradizionalmente, i driver riconoscono gli interrupt semplicemente restituendo il valore appropriato dalla routine del servizio interrupt (ISR). Quando i driver si basano su questo metodo, sono vincolati a riconoscere gli interrupt nell'ordine in cui li ricevono. Un driver della scheda SD, d'altra parte, non è vincolato a confermare gli interrupt nell'ordine in cui vengono ricevuti. In genere, un driver per una scheda SD potrebbe segnalare diversi interrupt al conducente del bus (vedere PSDBUS_CALLBACK_ROUTINE) prima di riconoscerne uno qualsiasi. In condizioni operative normali, un driver di scheda SD rinvia la conferma di un interrupt fino a quando lo stato di interrupt nel dispositivo non è stato cancellato.
Il chiamante deve essere in esecuzione in IRQL <= DISPATCH_LEVEL quando riconosce che ha completato l'elaborazione di un interrupt.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | ntddsd.h (include Ntddsd.h) |
IRQL | <=DISPATCH_LEVEL (vedere la sezione Osservazioni). |