我是驱动程序开发的新手。我被要求为一个简单的USB设备编写通用模式驱动程序。我一直在阅读《用Windows Driver Foundation开发驱动程序》这本书。我也一直在研究并试图理解本书所引用的代码示例。这本书展示了C ++代码,而我一直在看的代码示例都是C ++。我什至不得不精读C ++,因为本世纪我还没有研究它。使用VS 2017,当我从模板创建项目时,选择Visual C ++-> Windows驱动程序-> WDF->用户模式驱动程序(UMDF V2)。从各个方面看,创建项目后,它就是C项目而不是C ++项目。我只是感到困惑吗?好吧,答案是肯定的,但是为什么当我选择了Visual C ++模板时,为什么创建一个包含.c扩展名而不是.cpp的文件的项目?对newby设备驱动程序有何见解?
答案 0 :(得分:1)
UMDF 2旨在使最终将驱动程序移植到KMDF变得更加容易。由于C ++不能真正用于内核模式,因此默认情况下,UMDF 2项目已配置为C。如果要使用C ++,请在项目属性中更改编译器设置,但是请确保没有异常逃脱您的代码。