在98环境下,我门可以用_outp(),向并口写数据
可是同样的程序在win2k下不能使用。
请问有没有别的函数可以实现改功能?或者说能够让outp函数在2k环境下依然能用?
谢谢

解决方案 »

  1.   


    2000下可以利用访问虚拟端口的方法实现
    #include <conio.h>//注意必须包含着个
    读端口:
        switch (bSize)
        {
          case 1:        *pdwPortVal = _inp(wPortAddr);      break;      case 2:        *pdwPortVal = _inpw(wPortAddr);      break;      case 4:        *pdwPortVal = _inpd(wPortAddr);      break;
        }
    写端口:
        switch (bSize)
        {
          case 1:        _outp(wPortAddr, dwPortVal);      break;      case 2:        _outpw(wPortAddr, (WORD)dwPortVal);      break;      case 4:        _outpd(wPortAddr, dwPortVal);      break;
        }不过这种方法是访问的虚拟端口,虚拟端口被映射到物理端口,所以可能会有些限制,不过访问并口是绝对可以的2 写驱动程序,在里面使用汇编来完成或者使用DDK提供的访问端口函数,这样保险一些3 还可以使用winio,这是最简单的方法下面是我以前写的访问并口的程序,使用第二种方法,里面还包含winio
    http://vip.6to23.com/NowCan1/ctrl/portion.rar