Filter Driver File Detals Tab in Device Manager

I few year ago I build a filter driver based on the example code in this link:

That works great and as expected.
I received a bug saying that in the device manager, if you click on the Driver / Details tab for our driver then click on the filter driver, you get Unknown for Provider / File Version / Copyright.
I have been looking at the filter drivers in the MicroSoft sample code for a fix.

I am hoping you have a fix.
The only difference in the INF file from your sample code is the Class / ClassGUID / Section.

The rest looks a lot like your sample code.

I am noticing something today while researching the problem.
The Provider = %Name% line of the INF file is not updated.
When I look in Window Driver Sample Main,
at the compiled INF file for filter driver, I see the same problem.

I have tried hard coding the Provider and tried getting a CoInstaller to work.
No luck so far.

When I right click on the INF file I get an Unknown Provider message box.

I don’t know what you mean by “not updated”. The %Name% marker just means that the value will be looked up in the [Strings] section of the INF.

Now, once the pieces of an INF have been cached in the registry, they are often not updated during an upgrade. Perhaps you should try uninstalling (with file delete) and try again.

Thank you Tim!

On my way home it occurred to me that the %name% thing was bogus. Thank you!
I will look to see what is going on in the registry.
The problem occurs in client machines and developer machines.

I have been studying the registry.
My registry item is built on our own class GUID.
The main driver creates the GUID in the place where you have the path in the example.
We have our own class and GUID.

The main driver is installed and created the directory in the place you indicated by using.

HKR, , ,0,%ClassName%
HKR, ,Icon, , -5

Then the right click filter driver is installed using:

HKLM, System\CurrentControlSet\Control\Class%ClassGUIDToFilter%, UpperFilters, 0x00010008, %DriverName%

The filter driver creates a directory there called ‘1‘.

The upper filter is set correctly in the main directory
In the ‘1’ directory the provider name is set.

Looking into the Device Manager at other devices.

IDE_ATA/ATAPI controllers
Intel(R) 300 Series Chipset Family SATA AHCI Controller
c:\windows\system32\drivers\aStorAC.sys
c:\windows\system32\RstMyEventLogMsg.dll
aahcic.inf_amd64_120314e52c0456c\RstMxservice.exe

The RstMyEventLogMsg.dll is missing the provider name information.
Looking through more of the drivers, I can find more.

The keyboard has 2 drivers with two different classes, keyboard and mouse.
They both have provider data, interesting.

Either I am missing a step or this is not supported.
Any help? Thank you!

Found the solution.
You need a resource file in the project..
I would recommend updating the example filter driver code to have a resource file.

Thank you!

1 Like