C++ visualc&x2B+;UMDFV2模板似乎创建了一个C项目,而不是C++;

C++ visualc&x2B+;UMDFV2模板似乎创建了一个C项目,而不是C++;,c++,visual-studio-2017,umdf,C++,Visual Studio 2017,Umdf,我对驱动程序开发还不熟悉。我被要求为一个简单的USB设备编写一个通用模式驱动程序。我一直在阅读这本书《用Windows驱动程序开发驱动程序》。我也一直在研究并试图理解书中提到的代码示例。本书展示C++代码,我一直在看C++中的代码示例。我甚至不得不去复习C++,因为我本世纪还没有看过它。使用VS 2017,当我从模板创建一个项目时,我选择Visual C++ + > Windows驱动程序> > WDF>用户模式驱动程序(UMDF V2)。在项目创建之后,从表面上看,它是一个C项目而不是C++项

我对驱动程序开发还不熟悉。我被要求为一个简单的USB设备编写一个通用模式驱动程序。我一直在阅读这本书《用Windows驱动程序开发驱动程序》。我也一直在研究并试图理解书中提到的代码示例。本书展示C++代码,我一直在看C++中的代码示例。我甚至不得不去复习C++,因为我本世纪还没有看过它。使用VS 2017,当我从模板创建一个项目时,我选择Visual C++ + > Windows驱动程序> > WDF>用户模式驱动程序(UMDF V2)。在项目创建之后,从表面上看,它是一个C项目而不是C++项目。我只是糊涂了吗?答案是肯定的,但是为什么它创建了一个包含C扩展的文件,而不是我选择了Visual C++模板时的CPP?对新设备驱动程序有什么见解吗?

UMDF 2的设计目的是使驱动程序最终更容易移植到KMDF。由于C++不能真正用于内核模式,UMDF 2项目默认为C配置。如果你想使用C++改变项目属性中的编译器设置,但是请确保没有例外会逃逸你的代码。

实际上C++可以在内核模式中使用,只要你关心重要的驱动程序,比如页面错误。谢谢解释。由于我的问题得到了否决,我担心我会把我的问题贬低到“愚蠢的年度问题”范畴。有一个(相当旧的)白皮书关于在内核模式中使用C++:(直接下载链接)。