阅读:1130回复:3
晷於
:( :( :( :( :( :( :( :(
|
|
沙发#
发布于:2002-04-09 10:35
驱动程序必须被设计成可重入的,但这并不是说它不能有全局变量,只是说你在使用全局变量的时候,必须考虑同步,要串行化对全局资源的访问。
一般的同步方法有: 1.自旋锁:采用暂时提供IRQL的方法获得对某一资源的独立访问权。 2.临界区:CriticalSection.这一般用在ISR中 3.同步对象:包括EVENT、MUTEX、Semaphore,其中Mutex又有两种变形:FAST_MUTEX和EXECUTIVE resource. DEVICE_OBJECT最先是I/O Manager传给驱动程序,I/O Manager内部已经有IRP的同步机制,所以没有错误。 |
|
|
板凳#
发布于:2002-04-09 13:12
:( :( :( :( :( :(
果然是高手 ! :( :( :( :( :( :( |
|
地板#
发布于:2002-04-09 18:59
可以在驱动程序里作点手脚,不让它重入
|
|