INF file not registering the lower filter driver

Hi.
This is the continuation of my previous post "Asking about filtering target LBA of an I/O request."
I'm adding my driver under disk.sys, and having some problem with registering my driver.

This is my INF file:

[Version]
Signature   = "$Windows NT$"
Class       = DiskDrive
ClassGuid   = {4D36E967-E325-11CE-BFC1-08002BE10318}
Provider    = Nascity
CatalogFile	= WinIoWatcherCore.cat
DriverVer   = 07/20/2025,1.0.0.0
PnPLockdown	= 1

[DefaultInstall.ntamd64]
CopyFiles	= @WinIoWatcherCore.sys
AddReg		= LowerFilterReg
AddService	= WinIoWatcher, 0x00000002, WinIoWatcherService

[LowerFilterReg]
HKLM,"System\CurrentControlSet\Control\Class\{4D36E967-E325-11CE-BFC1-08002BE10318}","LowerFilters",0x00010008,"WinIoWatcher"

[DestinationDirs]
DefaultDestDir = 12

[WinIoWatcherService]
DisplayName		= "WinIoWatcher"
ServiceType		= 1
StartType		= 0
ErrorControl	= 1
ServiceBinary	= %12%\WinIoWatcherCore.sys

[SourceDisksFiles]
WinIoWatcherCore.sys = 1

[SourceDisksNames]
1 = %DiskName%,,,.

[Strings]
DiskName = "WinIoWatcher Installation Media"

Apparently, the driver did not register, and the system failed with INACCESSIBLE_BOOT_DEVICE, second bugcheck parameter being C0000034 (STATUS_OBJECT_NAME_NOT_FOUND).

Is there something wrong with my INF file?
I'm kinda new to all of this, and not sure what's actually happening.

Thank you in advance.

Your biggest problem is

AddService  = WinIoWatcher, 0x00000002, WinIoWatcherService

That "2" value make your driver the FUNCTION driver for the device, erasing all of the other drivers. When installing a filter using a fake INF like this, that second entry should be 0.

1 Like

Thanks for the advice. I'll change the entry and try to run the VM.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.