新闻中心

EEPW首页>模拟技术>设计应用> Windows设备驱动程序编写时的主要问题及解决方案

Windows设备驱动程序编写时的主要问题及解决方案

作者: 时间:2012-04-18 来源:网络 收藏
驱动程序中,使用如下的语句就可以打开文件。
hVxD=CreateFile("\\.\PCIBIOS.VXD",0,0,0, CREATE-NEW,FILE-FLAG-DELETE-ON-CLOSE,0); 打开设备文件后,调用DeviceIoControl函数就可以同设备驱动程序交换数据了。
完成硬件操作之后,可以调用CloseHandle(hVxD);关闭设备驱动。
这种调用方式也是Windows NT调用设备驱动的标准方法。对于VxD来说还有其它的调用方式,如DPMI方式,但采用DeviceIoControl的方法可以保证程序在Windows NT和Windows 9X下的兼容性,在两个操作系统下,仅有CreateFile语句是不同的。
4 设备驱动的进一步封装 至此,完成了对驱动程序的初步设计。但考虑到在上面调用设备驱动时使用的DeviceIoControl函数仍是比较复杂的,程序也不太容易具有通用性。而且,在有些开发工具中,如Visual Basic,不包括直接读写I/O端口的语句,所以可以考虑根据不同软件的需要对驱动程序进行不同的封装。目前,我们实现了以DLL、ActiveX、VCL和C++类库进行封装。DLL可以在大多数软件环境中进行调用。ActiveX可以在Visual Basic等可视编程环境中使用。VCL可以在Delphi和C++ Builder中使用。考虑到许多用户使用Visual C++,所以也提供了C++类库方式。
参考文献
1 马卫国,何佩琨.通用高速PCI总线目标模块的设计.电子技术应用,1999;25(1)
2 Art Baker.Windows NT设备驱动程序设计指南.北京:机械工业出版社,1997
3 AMCC S5933 PCI Controller Data Book.Applied Micro Circuits Corporation,1996 ? (收稿日期:1999-06-16)

模拟电路文章专题:模拟电路基础

c++相关文章:c++教程



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭