Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Förarna använder sina SynchCritSection-rutiner för något av två grundläggande syften:
Programmera en enhet för en I/O-åtgärd
Åtkomst till information om delat tillstånd
Precis som en ISR måste en SynchCritSection-rutin köras så snabbt som möjligt och endast göra vad som krävs för att konfigurera enhetsregister eller uppdatera kontextdata innan de returneras.
Eftersom KeSynchronizeExecution innehåller en enhetsdrivrutins avbrottsspinnlås medan dess SynchCritSection-rutin körs kan inte drivrutinens ISR köras förrän synchCritSection-rutinen returnerar kontrollen.
För alla mottagna IRP bör en enhetsdrivrutin utföra så mycket I/ O-bearbetning som möjligt antingen på IRQL-PASSIVE_LEVEL i sina sändningsrutiner (eller eventuellt enhetsspecifika trådar) eller vid IRQL-DISPATCH_LEVEL i sina StartIo-rutiner och DPC-rutiner.
Mer information om hur viktiga avsnitt synkroniseras finns i Använda spinlås: Ett exempel.