Supression of InfVerif Warnings?

I have an inf file which contains both [defaultuninstall] and [defaultuninstall.services] sections. Perfectly valid, actually use these to cleanup the drivers from a commanded uninstall.

InfVerif likes to complain about these sections being present:

foo.inf: warning 2083: Section [defaultuninstall] not referenced or used.
foo.inf: warning 2083: Section [defaultuninstall.services] not referenced or used.

Is there a means to suppress these warnings? I don’t plan to remove these sections, and these are the only warnings/errors be shown in my build currently…

Well, the reason for this warning is that PnP doesn’t know what these sections are, both because they’re not well-known sections like [Manufacturer], nor do you reference them from an AddReg or some other directive. So, either something other than PnP will use it (this case), or you intended to reference this section and didn’t (typo or something). InfVerif is just letting you know that it doesn’t know what these sections are for. You do, so you’re all good.

In general, InfVerif uses the convention that an error means something is wrong, and a warning means that InfVerif *suspects* a problem and it wants you to be aware of it. I’ve always told people that if InfVerif gives you a warning and you fully understand the warning (and know that it’s not an issue), then you can ignore it. If you find that the warning doesn’t make sense, there’s probably an underlying issue.

Beyond that, there’s no mechanism to ignore specific errors. However, since [DefaultUninstall] is such a common convention for INFs, I have added native InfVerif support for it - that’s coming in the next WDK release.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Wednesday, May 24, 2017 9:27 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Supression of InfVerif Warnings?

I have an inf file which contains both [defaultuninstall] and [defaultuninstall.services] sections. Perfectly valid, actually use these to cleanup the drivers from a commanded uninstall.

InfVerif likes to complain about these sections being present:

foo.inf: warning 2083: Section [defaultuninstall] not referenced or used.
foo.inf: warning 2083: Section [defaultuninstall.services] not referenced or used.

Is there a means to suppress these warnings? I don’t plan to remove these sections, and these are the only warnings/errors be shown in my build currently…


NTDEV is sponsored by OSR

Visit the list online at: https:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at https:

To unsubscribe, visit the List Server section of OSR Online at https:</https:></https:></https:>

xxxxx@gmail.com wrote:

I have an inf file which contains both [defaultuninstall] and [defaultuninstall.services] sections. Perfectly valid, actually use these to cleanup the drivers from a commanded uninstall.

InfVerif likes to complain about these sections being present:

foo.inf: warning 2083: Section [defaultuninstall] not referenced or used.
foo.inf: warning 2083: Section [defaultuninstall.services] not referenced or used.

Is there a means to suppress these warnings? I don’t plan to remove these sections, and these are the only warnings/errors be shown in my build currently…

If you have a [DefaultInstall] section, then as long as the
[DefaultUininstall] has the same decorations, it shouldn’t complain. On
the other hand, since an INF like that can’t go through WHQL, it doesn’t
really matter.

If you don’t have a [DefaultInstall] section, so that you are a PnP
package, then I challenge your assertion that this is “perfectly
valid”. Uninstallation needs to be going through the PnP process.
Otherwise, you are leaving tidbits behind.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

@Zac:
Thanks for the update!

@Tim:
I do have a [DefaultInstall] section.

My understanding is the drivers I’m referencing (sorry for not giving full details) are not PNP drivers, so this may not apply. I don’t see how to do away with these warnings, without the coming support Zac mentioned. This uninstall section is only used by my functional test service to allow for easy deploy and test during development. The product handles this differently in the installer and updater application. The following are their types and the default install and uninstall sections:

===================

  1. WDM File Mini-Filter Driver
    ===================
    [DefaultInstall]
    OptionDesc = %ServiceDescription%
    CopyFiles = MiniFilter.DriverFiles

[DefaultInstall.Services]
AddService = %ServiceName%,MiniFilter.Service

[DefaultUninstall]
DelFiles = MiniFilter.DriverFiles

[DefaultUninstall.Services]
DelService = %ServiceName%,0x200

==================
2. KMDF WFP Callout Driver

[DefaultInstall]
OptionDesc = %ServiceDesc%
CopyFiles = foo.DriverFiles

[DefaultInstall.Services]
AddService = %ServiceName%,foo.Service

[DefaultUninstall]
DelFiles = foo.DriverFiles

[DefaultUninstall.Services]
DelService = foo,0x200 ; SPSVCINST_STOPSERVICE

This looks fine to me (assuming, in the WFP callout driver, that foo in your DelService == %ServiceName%) . InfVerif is just warning you that PNP won’t be using these sections, in case you’re expecting it to. Unless there’s some reason you can’t ignore them for now, you’re safe ignoring them.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Thursday, May 25, 2017 10:29 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Supression of InfVerif Warnings?

@Zac:
Thanks for the update!

@Tim:
I do have a [DefaultInstall] section.

My understanding is the drivers I’m referencing (sorry for not giving full details) are not PNP drivers, so this may not apply. I don’t see how to do away with these warnings, without the coming support Zac mentioned. This uninstall section is only used by my functional test service to allow for easy deploy and test during development. The product handles this differently in the installer and updater application. The following are their types and the default install and uninstall sections:

===================
1. WDM File Mini-Filter Driver
===================
[DefaultInstall]
OptionDesc = %ServiceDescription%
CopyFiles = MiniFilter.DriverFiles

[DefaultInstall.Services]
AddService = %ServiceName%,MiniFilter.Service

[DefaultUninstall]
DelFiles = MiniFilter.DriverFiles

[DefaultUninstall.Services]
DelService = %ServiceName%,0x200

==================
2. KMDF WFP Callout Driver
==================
[DefaultInstall]
OptionDesc = %ServiceDesc%
CopyFiles = foo.DriverFiles

[DefaultInstall.Services]
AddService = %ServiceName%,foo.Service

[DefaultUninstall]
DelFiles = foo.DriverFiles

[DefaultUninstall.Services]
DelService = foo,0x200 ; SPSVCINST_STOPSERVICE


NTDEV is sponsored by OSR

Visit the list online at: https:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at https:

To unsubscribe, visit the List Server section of OSR Online at https:</https:></https:></https:>

It may be a project configuration issue. I?ve just tested a brand new KMDF PNP driver project and the INF verification tool is run but not for a brand new file system minifilter.

The INF verification target is named InfVerif. The target d?pends on some properties. Here is the difference between a KMDF PNP driver build and file system minifilter build:

-MSBULD output for KMDF PNP DRIVER
1> 1>
1> BeforeInfVerif:
1> The value of InfVerif_AdditionalValidation is ‘’
1> AfterInfVerif:
1> The value of InfVerif_AdditionalValidation is ‘true’

-MSBULD outout for a file system minifilter
1> 1>
1> BeforeInfVerif:
1> The value of InfVerif_AdditionalValidation is ‘’
1> AfterInfVerif:
1> The value of InfVerif_AdditionalValidation is ‘’

So it looks like the InfVerif_AdditionalValidation property is set to ?true? for a KMDF PNP Driver and to ?false? for file system minifilter.

This parameter is just what enforcement level InfVerif is run at, and these differences are by design. There’s no issue here.

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@outlook.com
Sent: Thursday, May 25, 2017 4:34 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Supression of InfVerif Warnings?

It may be a project configuration issue. I’ve just tested a brand new KMDF PNP driver project and the INF verification tool is run but not for a brand new file system minifilter.

The INF verification target is named InfVerif. The target d?pends on some properties. Here is the difference between a KMDF PNP driver build and file system minifilter build:

-MSBULD output for KMDF PNP DRIVER
1> 1>
1> BeforeInfVerif:
1> The value of InfVerif_AdditionalValidation is ‘’
1> AfterInfVerif:
1> The value of InfVerif_AdditionalValidation is ‘true’

-MSBULD outout for a file system minifilter
1> 1>
1> BeforeInfVerif:
1> The value of InfVerif_AdditionalValidation is ‘’
1> AfterInfVerif:
1> The value of InfVerif_AdditionalValidation is ‘’

So it looks like the InfVerif_AdditionalValidation property is set to ‘true’ for a KMDF PNP Driver and to ‘false’ for file system minifilter.


NTDEV is sponsored by OSR

Visit the list online at: http:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at http:

To unsubscribe, visit the List Server section of OSR Online at http:</http:></http:></http:>

>This parameter is just what enforcement level InfVerif is run at, and these differences are by design. There’s no issue here.

Yes, I was not talking about the IDE.

I was saying that the user may have choosen the wrong project type when the project was started because, it seems, INF verification is not enforced for filter drivers.

UPDATE

In VS2015, for a file system filter driver the project property InfVerif_NeedsValidation is set to false. But for an NDIS filter driver, the property is set to true just like in the KMDF PNP driver case.

So the conclusion is that INF file verification is enforced for NDIS filter drivers. So you probably need to move the uninstall related sections to a different INF file.

@S.J:
What is all this about InfVerif_AdditionalValidation? This is not a project property that appears anywhere that I can see. I also never mentioned NDIS filter driver, or file system filter driver. I referenced WFP callout, and fs mini-filter drivers.

@ N.W.:
Did you even test out what you’re talking about? WDK 10 1607 brought in InfVerif into the build process and that’s when this first started appearing. I’m assuming you must not be doing this with WDK 1607 or 1703.

I created a brand new fs mini-filter project, and here is the build output:
1>------ Rebuild All started: Project: FsFilter2, Configuration: Debug Win32 ------
1> Building ‘FsFilter2’ with toolset ‘WindowsKernelModeDriver10.0’ and the ‘Desktop’ target platform.
1> Stamping Debug\FsFilter2.inf [Version] section with DriverVer=05/26/2017,11.41.26.671
1>D:\ccm_wa\FsFilter2\FsFilter2\FsFilter2.inf(32-32): warning 2083: Section [defaultuninstall] not referenced or used.
1>D:\ccm_wa\FsFilter2\FsFilter2\FsFilter2.inf(35-35): warning 2083: Section [defaultuninstall.services] not referenced or used.

I’m happy to have InfVerif run against these INFs, warnings or not, and wouldn’t want to disable it.

Anyways, IMO Zac’s second response was sufficient to close out this discussion. Thanks again!

In response to a few of these posts…

InfVerif_AdditionalValidation does not control whether or not InfVerif runs, nor does InfVerif_NeedsValidation. If you’ve got an INF in your project, it should be run.

InfVerif_AdditionalValidation == TRUE when your target platform is universal. Some project types are universal, and that’s where this key comes from. InfVerif is stricter if it’s run in this mode - many warnings turn into errors.

InfVerif_NeedsValidation == TRUE when your target OS is Win10. “NeedsValidation” here isn’t if the INF “needs validation,” it’s if InfVerif is going to validate your Needs= directives. In Win10, we hardened the syntax rules for Include/Needs directives, and if this is TRUE, InfVerif will check that those rules were followed.

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Friday, May 26, 2017 8:52 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Supression of InfVerif Warnings?

@S.J:
What is all this about InfVerif_AdditionalValidation? This is not a project property that appears anywhere that I can see. I also never mentioned NDIS filter driver, or file system filter driver. I referenced WFP callout, and fs mini-filter drivers.

@ N.W.:
Did you even test out what you’re talking about? WDK 10 1607 brought in InfVerif into the build process and that’s when this first started appearing. I’m assuming you must not be doing this with WDK 1607 or 1703.

I created a brand new fs mini-filter project, and here is the build output:
1>------ Rebuild All started: Project: FsFilter2, Configuration: Debug Win32 ------
1> Building ‘FsFilter2’ with toolset ‘WindowsKernelModeDriver10.0’ and the ‘Desktop’ target platform.
1> Stamping Debug\FsFilter2.inf [Version] section with DriverVer=05/26/2017,11.41.26.671
1>D:\ccm_wa\FsFilter2\FsFilter2\FsFilter2.inf(32-32): warning 2083: Section [defaultuninstall] not referenced or used.
1>D:\ccm_wa\FsFilter2\FsFilter2\FsFilter2.inf(35-35): warning 2083: Section [defaultuninstall.services] not referenced or used.

I’m happy to have InfVerif run against these INFs, warnings or not, and wouldn’t want to disable it.

Anyways, IMO Zac’s second response was sufficient to close out this discussion. Thanks again!


NTDEV is sponsored by OSR

Visit the list online at: https:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at https:

To unsubscribe, visit the List Server section of OSR Online at https:</https:></https:></https:>