Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als uw stuurprogramma apparaatonderbrekingen afhandelt, moet het de callback-functies EvtInterruptEnable en EvtInterruptDisable bieden die de onderbrekingen in- en uitschakelen. Deze callback-functies worden doorgaans uitgevoerd op de DIRQL van het apparaat en moeten alles doen wat nodig is om het interruptmechanisme van een apparaat in en uit te schakelen. Voor passieve interruptsworden deze callback-functies uitgevoerd op IRQL = PASSIVE_LEVEL terwijl de passieve onderbrekingsvergrendeling wordt vastgehouden.
Als uw stuurprogramma aanvullende bewerkingen moet uitvoeren met betrekking tot het in- of uitschakelen van interrupts en als deze bewerkingen niet kunnen worden uitgevoerd op IRQL = DIRQL, kan het stuurprogramma ook de callback-functies EvtDeviceD0EntryPostInterruptsEnabled en EvtDeviceD0ExitPreInterruptsDisabled leveren. Deze twee callback-functies worden uitgevoerd op IRQL = PASSIVE_LEVEL zonder onderbrekingsvergrendeling en kunnen frameworkobjectmethoden aanroepen die niet beschikbaar zijn op IRQL = DIRQL.
Het framework roept de EvtInterruptEnable en EvtDeviceD0EntryPostInterruptsEnabled callback-functies aan telkens wanneer het apparaat de werkende status (D0) invoert, nadat het framework de EvtDeviceD0Entry callback-functie van het stuurprogramma heeft aangeroepen.
Het framework roept de EvtDeviceD0ExitPreInterruptsDisabled en EvtInterruptDisable callback-functies aan telkens wanneer het apparaat zijn werkende toestand verlaat, voordat het framework de EvtDeviceD0Exit-functie van het stuurprogramma aanroept. Zie PnP- en Power Management-scenario'svoor meer informatie over wanneer het framework de callbackfuncties van een stuurprogramma aanroept.
U moet er niet van uitgaan dat een apparaat dezelfde interruptresources gebruikt telkens wanneer het framework uw EvtInterruptEnable callback-functie aanroept. Soms distribueert de PnP-manager systeembronnenopnieuw, en kan het nieuwe interruptbronnen aan uw apparaat toewijzen.
Het stuurprogramma kan WdfInterruptGetInfo aanroepen om de interruptresources van een apparaat te bepalen. Het stuurprogramma kan WdfInterruptGetDevice aanroepen om het apparaat te bepalen waartoe een interruptobject behoort. (Een paar stuurprogramma's kunnen WdfInterruptWdmGetInterruptaanroepen.)
Als het stuurprogramma interrupts direct wil in- en uitschakelen, kan het de methoden WdfInterruptEnable en WdfInterruptDisable aanroepen, die op hun beurt de event callback-functies EvtInterruptEnable en EvtInterruptDisable van het stuurprogramma aanroepen. De meeste stuurprogramma's moeten echter alleen toestaan dat het framework de EvtInterruptEnable en EvtInterruptDisable callback-functies op de juiste momenten aanroept.