Драйвер устройства не устанавливается на какие-либо устройства, используйте примитивный драйвер, если он предназначен в Visual Studio 2019 для драйвера hello world?

Я пытаюсь скомпилировать драйвер hello world в последней визуальной студии

похоже, что они внесли фантастические изменения в визуальную студию в последней версии, потому что у меня не было этой проблемы в 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, который является INF по умолчанию в VS 2019:

;
; 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"

Как мне это изменить?

Даже простые примеры в книге по программированию ядра Windows, выпущенной в 2019 году, больше не будут компилироваться, потому что все предоставленные файлы INF недействительны.


person OneAndOnly    schedule 04.10.2020    source источник


Ответы (2)


чтобы решить эту проблему, просто удалите файл inf из визуальной студии и перекомпилируйте, и тогда он будет работать.

person zerocool    schedule 20.10.2020

Это вызвано новой концепцией примитивных драйверов в Windows 10 1903. Целью является явное моделирование драйверов, которые на самом деле не связаны с устройством. См. документацию Microsoft по примитивным драйверам для подробностей.

Ваш inf не содержит ни одного из разделов, для которых есть инструкции по миграции, но в нем есть раздел Manufacturer, что недопустимо для примитивных драйверов. Удалите его, и проверка может быть успешной.

person Mitten.O    schedule 06.11.2020