Reserved service names inside INX files at KMDF samples

Hi everyone!

I’ve been trying to build the Toaster KMDF samples from Microsoft GitHub (https://github.com/Microsoft/Windows-driver-samples), but I’m facing errors like these:

…\toastDrv\kmdf\bus\dynamic\dynambus.inx(16-16): warning 1324: [Version] section should specify PnpLockdown=1.
…\toastDrv\kmdf\bus\dynamic\dynambus.inx(63-63): error 1293: Service name ‘dynambus’ is reserved.
…\toastDrv\kmdf\bus\dynamic\dynambus.inx(90-90): error 1293: Service name ‘dynambus’ is reserved.
Done building project “dynambus.vcxproj” – FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

One way I found to get it built is changing the target platform, inside “Driver Settings” project properties, from Universal to Desktop.
I also tried “Windows Driver” on the same setting, but the only one that builds the sample is “Desktop”.

Things are worse when I try to build toastmon:

…\toastDrv\kmdf\toastmon\wdftoastmon.inx(16-16): error 1324: [Version] section should specify PnpLockdown=1.
…\toastDrv\kmdf\toastmon\wdftoastmon.inx(18-18): error 1284: Class “Sample” is reserved for use by Microsoft.
…\toastDrv\kmdf\toastmon\wdftoastmon.inx(30-30): error 1285: Cannot specify [ClassInstall32] section for Microsoft-defined class.
…\toastDrv\kmdf\toastmon\wdftoastmon.inx(56-56): error 1322: Destination file path ‘C:\Windows\System32\drivers’ for file ‘wdftoastmon.sys’ is not isolated to DIRID 13.
…\toastDrv\kmdf\toastmon\wdftoastmon.inx(60-60): error 1293: Service name ‘wdfToastMon’ is reserved.
…\toastDrv\kmdf\toastmon\wdftoastmon.inx(86-86): error 1293: Service name ‘wdfToastMon’ is reserved.
Done building project “wdftoastmon.vcxproj” – FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I could not build toastmon even setting “Desktop” at the target platform. None of the available settings gets the sample built.

I used to build these samples using older versions of WDK and Visual Studio 2017, but not now using recent versions of them.

Any special reason for that?
What I’m missing?

Thanks in advance,

Fernando Roberto da Silva
DriverEntry Kernel Development
http://www.driverentry.com.br

For the first set of errors, try changing the service name in the INF to a different name. It sounds like the inf verification tool (infverif.exe) now includes the names from samples in the reserved list. This makes sense from an all up perspective as we see many driver submissions keep the sample service name as-is and it can create conflicts.

Somr related info was here
https://docs.microsoft.com/en-us/archive/blogs/doronh/what-should-you-change-in-a-sample-before-you-ship-it