Решил сделать что-то похожее на toaster из DDK, но мне ещё нужен верхний фильтр шины, но он почему-то не грузится. вот Inf:
[Version]
Signature="$Windows NT$"
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
LayoutFile=layout.inf
Provider=%Mfg%
DriverVer=1/9/2015,1.0
[DestinationDirs]
DefaultDestDir = 12
[Manufacturer]
%Mfg%=Vendor
[Vendor]
%LlirikBus.DeviceDesc%= LlirikBus, root\LlirikBus
[LlirikBus.NT]
; Copy the driver over
CopyFiles=LlirikBus.CopyFiles
[LlirikBus_Device.NT.HW]
AddReg=LlirikBus_Device.NT.HW.AddReg
;
; File sections
;
[LlirikBus.CopyFiles]
LlirikBus.sys
Keymouse.sys
[LlirikBus_Device.NT.HW.AddReg]
HKR,,DeviceCharacteristics,0x10001,0x0100 ; Use same security checks on relative opens
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)" ; Allow generic-all access to Built-in administrators and Local system
HKR,,"UpperFilters",0x00010000,"Keymouse"
;
; Service Installation
;
[LlirikBus.NT.Services]
AddService = LlirikBus,%SPSVCINST_ASSOCSERVICE%, LlirikBus_Service_Inst
AddService = Keymouse,, Keymouse_Service_Inst
[LlirikBus_Service_Inst]
DisplayName = %SvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 0 ; SERVICE_ERROR_IGNORE
LoadOrderGroup = Extended Base
ServiceBinary = %12%\LlirikBus.sys
[Keymouse_Service_Inst]
DisplayName = %KMSvcDesc%
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 3 ; SERVICE_DEMAND_START
ErrorControl = 0 ; SERVICE_ERROR_IGNORE
LoadOrderGroup = PNP Filter
ServiceBinary = %12%\Keymouse.sys
[Strings]
;localized strings
SPSVCINST_ASSOCSERVICE= 0x00000002
Mfg = "Llirik SoftWare"
SvcDesc = "LlirikBus driver"
LlirikBus.DeviceDesc = "LlirikBus"
KMSvcDesc = "KeyMouse driver"
LlirikBus.sys грузится, а Keymouse.sys нет
P.S. Шина пока не создаёт никаких дочерних устройств.