hi can anyone explain this Quote ( i am beginner in windows internal)
windows internal:
windows internal:
One important restriction on code running at DPC/dispatch level or above is that it can’t waitThank
for an object if doing so would necessitate the scheduler to select another thread to execute,
which is an illegal operation because the scheduler synchronizes its data structures at DPC/
dispatch level and cannot therefore be invoked to perform a reschedule. Another restriction
is that only nonpaged memory can be accessed at IRQL DPC/dispatch level or higher.
This rule is actually a side-effect of the first restriction because attempting to access memory
that isn’t resident results in a page fault. When a page fault occurs, the memory manager
initiates a disk I/O and then needs to wait for the file system driver to read the page in from
disk. This wait would in turn require the scheduler to perform a context switch (perhaps to
the idle thread if no user thread is waiting to run), thus violating the rule that the scheduler
can’t be invoked (because the IRQL is still DPC/dispatch level or higher at the time of the disk
read).
@R00tkitSMM