我正在尝试在最新的visual studio上编译hello world驱动程序。
似乎他们在最新版本中对visual studio做了一些奇妙的改变,因为我在VS 2017中没有这个问题,我不能编译一个简单的hello world驱动程序,你可以在任何教程中找到它,因为我得到了这个错误:
Device driver does not install on any devices, use primitive driver if this is intended
它似乎与默认的INF文件相关:
https://github.com/MicrosoftDocs/windows-driver-docs/issues/2067
但是答案是无用的,没有提到的INF文件的更改有帮助,这是我的INF文件,这是VS 2019上的默认INF:
;
; HelloWorld.inf
;
[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4d36e97d-e325-11ce-bfc1-08002be10318}
Provider=%ManufacturerName%
DriverVer=
CatalogFile=HelloWorld.cat
PnpLockDown=1
[DestinationDirs]
DefaultDestDir = 12
[SourceDisksNames]
1 = %DiskName%,,,""
[SourceDisksFiles]
[Manufacturer]
%ManufacturerName%=Standard,NT$ARCH$
[Standard.NT$ARCH$]
[Strings]
ManufacturerName="<Your manufacturer name>" ;TODO: Replace with your manufacturer name
ClassName=""
DiskName="HelloWorld Source Disk"
我该怎么改呢?
即使是2019年的windows内核编程书籍中的简单示例也无法编译,因为提供的所有INF文件都无效。
发布于 2020-10-20 09:06:28
要解决这个问题,只需从visual studio中删除inf
文件并重新编译,它就会正常工作。
发布于 2020-11-06 19:00:44
这是由Windows 10 1903中新的“原语驱动程序”概念引起的。其目的是显式地对实际上与设备无关的驱动程序进行建模。详情请参见Microsoft Documentation on Primitive Drivers。
您的inf不包含任何有迁移说明的部分,但它有Manufacturer
部分,这是原语驱动程序不允许的。删除它,验证可能会成功。
https://stackoverflow.com/questions/64197518
复制相似问题