阅读:1276回复:4
大家看看!!!!
各位大哥好!!!我上次写的驱动程序为什么不能共享????
是这样的。我在二个应运程序中同时用CreateFile打开这个驱动时,会只有那个先调用CreateFile的应运程序才能正常的打开这个驱动,而后调用CreateFile的那个应运程序再用CreateFile打开这个驱动时(这个时候前面那个应运程序一直没用CloseFile关闭这个驱动)总是返回-1。这是为什么???怎么解决这个问题???? |
|
沙发#
发布于:2002-05-27 14:10
好象看过这个问题了
|
|
板凳#
发布于:2002-05-27 14:45
你查看一下的驱动程序的源程序,其中在AddDevice(...)例程中,有这样一个函数:IoCreateDevice(..., IN BOOLEAN Exclusive, OUT PDEVICE_OBJECT *DeviceObject );这倒数第二个参数你是否设置为TRUE,应该设置为FALSE,这样才能达到同时多个进程可打开设备的要求。下面是DDK文档中有关此参数的说明:
Exclusive Indicates whether the device object represents an exclusive device. That is, only one handle at a time can send I/O requests to the corresponding device object. If the underlying device supports overlapped I/O, multiple threads of the same process can send requests through a single handle. |
|
地板#
发布于:2002-05-27 18:37
谢谢!!!我回家看看,我有那本DDK的中文译本,我想我能找到它的!!!
|
|
地下室#
发布于:2002-05-27 19:24
中文译本?哪里买的?看e文太慢了。
|
|
|