本人在 softice中设置断点 BPX xxxCreate其中 xxxCreate 为对应 IRP_MJ_CREATE 的函数。应用程序中第一次调用 CreateFile 时, softice调试窗口弹出,并停留在断点 xxxCreate 处。单步执行后,成功返回。连续第二...
全文
回复(12) 2002-10-23 10:39 来自版块 - 内核编程
表情
zydcat看看iocreatedevice的参数 NTSTATUS IoCreateDevice( IN PDRIVER_OBJECT DriverObject, IN ULONG DeviceExtensionSize, IN PUNICODE_STRIN...(2002-10-24 21:51)
arthurtu是不是独占方式打开的设备??? :mad: :mad: :mad: :mad: nod(2002-10-23 19:15)
wlrwx是不是独占方式打开的设备??? :mad: :mad: :mad: :mad:(2002-10-23 17:39)
fracker跟驱动也有关系,好像是IoCreateDevice的时候的一个参数不允许多次打开设备。(2002-10-23 17:33)
yearn[quote] 是有问题, 陪 CreateFile 的(2002-10-23 16:50)
bbear 可能我没说清楚。我的两次调用只是在不同的应用程序中。 第一个应用程序 CreatFile()后,没有 CloseHandle()。 接着在第二个应用程序中调用CreateFile(),就出错:打开失败。 这样有问题吗? 是有问题, 陪 CreateF...(2002-10-23 16:22)
yearn从表面上来分析是没有道理的。你既然你第一次能调用成功,说明I/O Manager已经成功调用IRP_MJ_CREATE, 而你第二次不行,是不是因为SoftIce装载的驱动不对?是不是你在两次之间修改了驱动,即没有效重新启动,或没有重新装载符号? 可能我没说清楚。我的两次...(2002-10-23 15:53)
bbear第一次调用 CreateFile 时, softice调试窗口弹出, 是不是你未晷CLOSEFILE. 所以 第二次调用,已不成功 (2002-10-23 11:52)
Tom_lyd从表面上来分析是没有道理的。你既然你第一次能调用成功,说明I/O Manager已经成功调用IRP_MJ_CREATE, 而你第二次不行,是不是因为SoftIce装载的驱动不对?是不是你在两次之间修改了驱动,即没有效重新启动,或没有重新装载符号?(2002-10-23 11:44)
VanCheer是不是也可以这样认为: 第二次调用CreateFile()时,I/O管理器并没将IRP传递到 驱动程序,而直接返回错误? 如果是这样的话,又是什么原因呢? 两次调用参数设置是一样啊,而且为共享模式。 这个问题已经弄了很久。请大家帮帮我吧。我都快 ...(2002-10-23 11:27)

返回顶部