peakjohn
驱动牛犊
驱动牛犊
  • 注册日期2002-05-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1050回复:4

NT下如何读Oxcfc寄存器

楼主#
更多 发布于:2002-06-11 17:34
在98下我的这一段程序执行正确,可是在NT下却读出来的数据是错误的。
        DWORD io_CF8;
        DWORD io_CFC;
        io_CF8=0x80000000;
        for(;;)
        {
            outpd(0xcf8,io_CF8);
            io_CFC=inpd(0xcfc);
            io_CF8+=0x100;
            if(io_CF8>=0x80ffff00)
                break;
         }
哪为大虾能写出相应的NT下的代码呀,我是这样写的,可是结果和98的不一样
       for(;;)
       {
           NTIsaWriteDWord(hDriver,0xcf8,io_CF8);
           NTIsaReadDWord(hDriver,0xcfc,&io_CFC);
           io_CF8+=0x100;
           if(io_CF8>=0x80ffff00)
                break;
       }
      NTIsaReadDWord(HANDLE hDriver,UINT Port,DWORD *cValue)和NTIsaWriteDWord(HANDLE hDriver,UINT Port,DWORD cValue)主要用到了DeviceIOControl(),如下:
      IO_PARAMS Buf;
      DWORD dwByteReturned;
      BOOL rc;
      if(hDriver==INVALID_HANDLE_VALUE)return FALSE;
      DeviceIOContro(hDriver,
                               IOCTL_ISA_READ_DWORD,/*IOCTL_ISA_WRITE_DWORD*/
                     &Buf,
                     sizeof(IO_PARAMS),
                     &Buf,
                     sizeof(IO_PARAMS),
                     &dwByteReturned,
                     0);

     if(rc)
     {
        *cValue/* cValue */=Buf.ReadOut
     }
     return rc;
请教问题出在那里,急啊!!!
    
        

    
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
沙发#
发布于:2002-06-11 18:09
不要使用outpd和inpd,使用系统提供的READ_PORT_XXXX函数。
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
peakjohn
驱动牛犊
驱动牛犊
  • 注册日期2002-05-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-11 19:17
NT下肯定是不能用outpd,inpd的,我也没有用到这些。请大虾仔细看看我的代码,帮我找出问题的结症所在吧!
guard2002
驱动中牛
驱动中牛
  • 注册日期2002-05-21
  • 最后登录2017-03-07
  • 粉丝0
  • 关注0
  • 积分46分
  • 威望65点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2002-06-12 13:12
请教:
NTIsaReadDWord在MSDN,DDK DOC和Native API 中均没找到,请问是什么函数?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-06-12 13:17
你的hDriver怎么得到?
游客

返回顶部