阅读:4341回复:1
windows设备驱动程序WDF开发
最近买了本武安河的WDF开发的书籍,内容写的还不错,比较容易的可以掌握WDF开发windows驱动的方法。
不过书里有个例程自己修改出现点问题,不知道有没有人清楚,可以交流下 书里提供的regsample例程 read_dword,read_string,read_boolean I/O请求的方式有BUFFER,DIRECT,NEITHER三种方式 NEITHER方式下,三种数据读取都正常,也能掌握缘由,但是BUFFER,DIRECT两种方式比较迷茫 BUFFER方式时,读取string数据,可以成功,长度也对,但是没有内容,而且 printf("READ_BOOLEAN:%X\n",bufOutput); printf("READ_BOOLEAN:%X\n",nOutput); 处理的输出是 READ_BOOLEAN:READ_BOOLEAN:3 就算数据出问题,也应该“\n”的作用换行啊? 然后驱动的处理不变,仅仅是把public.h里的方式换成DIRECT,输出就是正常的READ_BOOLEAN:WDF READ_BOOLEAN:3 按照原理来说DIRECT应该是使用MDL才对,怎么驱动力使用buffer获取缓存区也可以正常显示呢? 还有驱动程序的I/O设置应该是统一的吧?不能每个请求都可以是不同的缓存方式吧? |
|
最新喜欢:wangza... |
沙发#
发布于:2009-05-06 16:20
BUFFER方式相对安全,DIRECT方式相对快捷,NEITHER方式最好别用
BUFFER方式时,读取string数据,可以成功,长度也对,但是没有内容,指的是应用程序显示吗? 采用:wprintf(L"READ_STRING:%s\n",bufOutput);试一下 |
|