Bus driver part (that creates PDO for FDO-2 below)
FDO-2
and 2) have 1 INF - SYSTEM class
has a different INF - NET class
INFs above point to same .SYS file. Different service names. Rest of AddService section almost identical except auxiliary items like display-name/description. Start types same.
With above I thought when I load driver for FD0-2, since the SYS is already loaded, it will skip DriverEntry() and just call AddDevice with a distinct DeviceInit param. But I get Code 38
“When I try to load driver for FDO-2, I get Code 38
Windows cannot load the device driver for this hardware because a previous instance of the device driver is still in memory. (Code 38)”
Is there anyway to have above working or should I move the FDO-2 to a different driver?
A while back, on Win2k8 server I had this working, though slightly different - a single SYS had a bus driver and a protocol driver (different infs, service names, start types, INF class types) and the FDO loaded on the child-PDO created by bus_Driver here was in its own separate .SYS.
Is the Service name the same for both infs? Make the Addservice directives in both infs exactly the same (and that includes the service install section) and see if this loads the driver in fdo2. This can and does work if the service configuration is the same for each different inf
Bent from my phone
From: 30261522100n behalf of
Sent: Tuesday, July 24, 2018 7:43 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Hosting multiple FDOs (different INFs) in same .SYS
Hi
I have below in 1 driver
FDO-1 (Acts as bus-driver FDO as well)
Bus driver part (that creates PDO for FDO-2 below)
FDO-2
and 2) have 1 INF - SYSTEM class
has a different INF - NET class
INFs above point to same .SYS file. Different service names. Rest of AddService section almost identical except auxiliary items like display-name/description. Start types same.
With above I thought when I load driver for FD0-2, since the SYS is already loaded, it will skip DriverEntry() and just call AddDevice with a distinct DeviceInit param. But I get Code 38
“When I try to load driver for FDO-2, I get Code 38
Windows cannot load the device driver for this hardware because a previous instance of the device driver is still in memory. (Code 38)”
Is there anyway to have above working or should I move the FDO-2 to a different driver?
A while back, on Win2k8 server I had this working, though slightly different - a single SYS had a bus driver and a protocol driver (different infs, service names, start types, INF class types) and the FDO loaded on the child-PDO created by bus_Driver here was in its own separate .SYS.