Dispatch Routine IRQL and Thread Context
The following table summarizes the IRQL and thread context requirements for file system filter driver dispatch routines.
| Dispatch routine | Caller's IRQL: | Caller's thread context: |
|---|---|---|
|
Cleanup |
PASSIVE_LEVEL |
Nonarbitrary |
|
Close |
APC_LEVEL |
Arbitrary |
|
Create |
PASSIVE_LEVEL |
Nonarbitrary |
|
DeviceControl (except paging I/O) |
PASSIVE_LEVEL |
Nonarbitrary |
|
DeviceControl (paging I/O path) |
APC_LEVEL |
Arbitrary |
|
DirectoryControl |
APC_LEVEL |
Arbitrary |
|
FlushBuffers |
PASSIVE_LEVEL |
Nonarbitrary |
|
FsControl (except paging I/O) |
PASSIVE_LEVEL |
Nonarbitrary |
|
FsControl (paging I/O path) |
APC_LEVEL |
Arbitrary |
|
LockControl |
PASSIVE_LEVEL |
Nonarbitrary |
|
PnP |
PASSIVE_LEVEL |
Arbitrary |
|
QueryEa |
PASSIVE_LEVEL |
Nonarbitrary |
|
QueryInformation |
PASSIVE_LEVEL |
Nonarbitrary |
|
QueryQuota |
PASSIVE_LEVEL |
Nonarbitrary |
|
QuerySecurity |
PASSIVE_LEVEL |
Nonarbitrary |
|
QueryVolumeInfo |
PASSIVE_LEVEL |
Nonarbitrary |
|
Read (except paging I/O) |
PASSIVE_LEVEL |
Nonarbitrary |
|
Read (paging I/O path) |
APC_LEVEL |
Arbitrary |
|
SetEa |
PASSIVE_LEVEL |
Nonarbitrary |
|
SetInformation |
PASSIVE_LEVEL |
Nonarbitrary |
|
SetQuota |
PASSIVE_LEVEL |
Nonarbitrary |
|
SetSecurity |
PASSIVE_LEVEL |
Nonarbitrary |
|
SetVolumeInfo |
PASSIVE_LEVEL |
Nonarbitrary |
|
Shutdown |
PASSIVE_LEVEL |
Arbitrary |
|
Write (except paging I/O) |
PASSIVE_LEVEL |
Nonarbitrary |
|
Write (paging I/O path) |
APC_LEVEL |
Arbitrary |
Send comments about this topic to Microsoft
Build date: 11/21/2012