KeEnterCriticalRegion vs APC_LEVEL

  • Thread starter Thread starter Alex
  • Start date Start date
A

Alex

What is difference between using KeEnterCriticalRegion and raising IRQL to
APC_LEVEL? As I know, KeEnterCriticalRegion disables only normal kernel apc
but raising to APC_LEVEL disables a special kernel apc too. Is it true?
But I doubt about what type of apc disabling mechanism I should use in
various cases. In what cases I should simply call to KeEnterCriticalRegion
and in what cases I should raise to APC_LEVEL? In other words, when I must
raise IRQL to APC_LEVEL instead of call to KeEnterCriticalRegion?

Tanks for assistance.
 
what are you trying to guard. KeEnterCriticalRegion does alot less work then
KeRaiseIrql and is quite a bit faster. Each have their own uses, but knowing
your context helps out.

d
 
Thanks for reply!

I have no specific task. I just want to know a bit more about APC because
it very poor documented in DDK and other sources. When raising to APC_LEVEL
is necessary instead of calling KeEnterCriticalRegion? Can you make some
explanation when raising to APC_LEVEL is necessary? Or can you point me to
some resources which describes kernel APC more exactly than DDK and "Inside
Microsoft Windows 2000"?
 
Back
Top