xingdajing
驱动牛犊
驱动牛犊
  • 注册日期2009-04-15
  • 最后登录2009-12-28
  • 粉丝1
  • 关注0
  • 积分23分
  • 威望191点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4341回复:1

windows设备驱动程序WDF开发

楼主#
更多 发布于:2009-04-29 15:54
      最近买了本武安河的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设置应该是统一的吧?不能每个请求都可以是不同的缓存方式吧?
 

最新喜欢:

wangzaiwangza...
wdfbook
驱动牛犊
驱动牛犊
  • 注册日期2009-05-06
  • 最后登录2010-01-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望71点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2009-05-06 16:20
BUFFER方式相对安全,DIRECT方式相对快捷,NEITHER方式最好别用

BUFFER方式时,读取string数据,可以成功,长度也对,但是没有内容,指的是应用程序显示吗?
采用:wprintf(L"READ_STRING:%s\n",bufOutput);试一下
游客

返回顶部