20楼#
发布于:2004-05-17 19:44
waqis你的QQ是多少我有几个问题要问你,能加我一下吗?
|
|
21楼#
发布于:2004-05-18 08:50
qq:293331
|
|
22楼#
发布于:2004-05-27 23:08
//关闭
if(LoadDeviceDriver( SYS_NAME, SYS_FILE, &SysHandle, &error )){ //删除禁用设备 DeviceIoControl(SysHandle, IOCTL_SIIMON_SETDISABLEDEVICEFILTER, 0, 0, 0, 0, &dwRet, NULL ); //停止监控 DeviceIoControl(SysHandle, IOCTL_SIIMON_STOPSPY, 0, 0, 0, 0, &dwRet, NULL ); } 这个好像把所有的设备都解除禁用了如果我想仅解除某一设备的禁用我用了如下语句但不行: //禁用 if(LoadDeviceDriver( SYS_NAME, driverfile, &SysHandle, &error )) { //删除禁用设备(光驱) _DEVICE_INFO* pdf = new _DEVICE_INFO[1]; if(pdf) { pdf[0].Type = _MULTI_DEVICE; strcpy(pdf[0].DeviceName, \"\\\\Device\\\\CdRom\"); DeviceIoControl(SysHandle, IOCTL_SIIMON_SETENABLEDEVICEFILTER, pdf, sizeof(_DEVICE_INFO), 0, 0, &dwRet, NULL ); delete pdf; } flag = DeviceIoControl(SysHandle, IOCTL_SIIMON_STOPSPY, 0, 0, 0, 0, &dwRet, NULL ); |
|
23楼#
发布于:2004-05-28 08:27
不要调用
DeviceIoControl(SysHandle, IOCTL_SIIMON_STOPSPY, 0, 0, 0, 0, &dwRet, NULL ); 仅重新调用一次 DeviceIoControl(SysHandle, IOCTL_SIIMON_SETDISABLEDEVICEFILTER, pdf, sizeof(_DEVICE_INFO)*2, 0, 0, &dwRet, NULL ); 就可以了. |
|
24楼#
发布于:2004-05-28 09:31
IOCTL_SIIMON_SETENABLEDEVICEFILTER
的作用是什么?你这个驱动好像要解除禁用一下子要解除好几, 如果我想按这个按钮解除光驱按另一个按钮解除软驱好像就不行 了还有我在我机器上出现过死机蓝屏现象 |
|
25楼#
发布于:2004-07-20 18:20
谁知道上面那个例子怎么实现的吗?一个驱动就做了这么多事
|
|
26楼#
发布于:2004-07-20 19:06
自己反汇编吧。。。。。
|
|
|
27楼#
发布于:2004-07-21 08:43
自己反汇编吧。。。。。 行,你够狠! ;) |
|
28楼#
发布于:2004-07-21 08:54
我是新手,用了一下waqis的例子,觉得很奇怪,真不知他怎么实现的,厉害,佩服
|
|
29楼#
发布于:2009-03-03 16:54
waqis 这样搞不好 不正规 影响效率而且不稳定
在产品中还是应该用正规的方法 |
|
上一页
下一页