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.
Stuurprogramma's gebruiken hun SynchCritSection-routines voor een van de twee basisdoeleinden:
Een apparaat programmeren voor een I/O-bewerking
Toegang tot informatie over gedeelde status
Net als een ISR moet een SynchCritSection-routine zo snel mogelijk worden uitgevoerd, alleen doen wat nodig is om apparaatregisters in te stellen of contextgegevens bij te werken, voordat ze worden geretourneerd.
Omdat KeSynchronizeExecution de onderbrekingsdraaivergrendeling van een apparaatstuurprogramma bevat terwijl de SynchCritSection-routine wordt uitgevoerd, kan de ISR van het stuurprogramma pas worden uitgevoerd als de SynchCritSection-routine controle retourneert.
Voor ontvangen IRP moet een apparaatstuurprogramma zoveel mogelijk I/O-verwerkingen uitvoeren op IRQL-PASSIVE_LEVEL in de verzendroutines (of mogelijk apparaatspecifieke threads), of bij IRQL-DISPATCH_LEVEL in de StartIo-routine en DPC-routines.
Zie Spin Locks gebruiken voor meer informatie over hoe kritieke secties worden gesynchroniseerd: een voorbeeld.