docs.microsoft.com/en-us/windows-hardware/drivers/kernel/managing-hardware-priorities
Managing Hardware Priorities - Windows drivers
Managing Hardware Priorities
docs.microsoft.com
[심플한 설명]
드라이버 함수(DDK, WDK) 사용시 우선순위 확인하기.
ex) AddDevice() 루틴에 함수 사용시 PASSIVE_LEVEL만 허용한다.
[MS 설명]
PASSIVE_LEVEL
Interrupts Masked Off — None.
Driver Routines Called at PASSIVE_LEVEL — DriverEntry, AddDevice, Reinitialize, Unload routines, most dispatch routines, driver-created threads, worker-thread callbacks.
APC_LEVEL
Interrupts Masked Off — APC_LEVEL interrupts are masked off.
Driver Routines Called at APC_LEVEL — Some dispatch routines (see Dispatch Routines and IRQLs).
DISPATCH_LEVEL
Interrupts Masked Off — DISPATCH_LEVEL and APC_LEVEL interrupts are masked off. Device, clock, and power failure interrupts can occur.
Driver Routines Called at DISPATCH_LEVEL — StartIo, AdapterControl, AdapterListControl, ControllerControl, IoTimer, Cancel (while holding the cancel spin lock), DpcForIsr, CustomTimerDpc, CustomDpc routines.
DIRQL
Interrupts Masked Off — All interrupts at IRQL<= DIRQL of driver's interrupt object. Device interrupts with a higher DIRQL value can occur, along with clock and power failure interrupts.
[축약 정리]
- PASSIVE_LEVEL: 0 (amd64)
- APC_LEVEL: 1 (amd64)
- DISPATCH_LEVEL: 2 (amd64)
- DIRQL: 3-11 (amd64)
[출처]
마이크로소프트
'Windows Drivers' 카테고리의 다른 글
Windows Driver Model (기초 책) (0) | 2022.07.15 |
---|---|
Display Drivers (0) | 2022.07.15 |
File system driver samples (0) | 2022.07.15 |
File systems driver design guide (0) | 2022.07.15 |
whql certification (교차 인증서 종료 안내) (0) | 2022.05.27 |