Re: Install moufiltr on HID class driver by Ray
Ray
Fri Mar 25 12:03:55 CST 2005
Hmmm. The only thing I see that's different from how we do this is that
now that I've looked, we actually needs/includes "HID_Mouse_Inst.NT" and
"HID_Mouse_Inst.NT.Services"... try that.
Other than that, I'm at a loss. Have you tried running chkinf to make
sure you don't have any typos or other hard to see errors?
Liang Fu wrote:
> Thanks for your help.
> I experimented with various modifications of moufiltr.inf, following your
> suggestion. But I always get the same error message: Error E0000219 in
> UpdateDriverForPlugAndPlayDevices:
> ERROR_NO_ASSOCIATED_SERVICE
> The following is a typical modified moufiltr.inf that I used (I tried with
> or without * in front of PNP_DEVICE_SYSTEM_MPUSE, different PNP IDs, such as
> HID\VID_046D&PID_C00x (x=0,1,2,3), etc.).
> ============================================================================
> =====
> ; moufiltr.inf
> ;
> ; Installation inf for the Device that needs flitering adapter.
> ;
> ; (c) Copyright 1999 Microsoft
> ;
>
> [Version]
> Signature="$Windows NT$"
> Provider=%DDK_Ex%
> ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
> Class=Mouse
> CatalogFile=moufiltr.cat
> DriverVer=07/20/1999
>
> [DestinationDirs]
> DefaultDestDir = 12
>
> ;
> ; Driver information
> ;
>
> [Manufacturer]
> %DDK_Ex% = DDK_Ex.Mfg
>
> [DDK_Ex.Mfg]
> %DDK_Ex% = moufiltr, HID_DEVICE_SYSTEM_MOUSE
>
>
> ;
> ; General installation section
> ;
>
> [moufiltr]
> ; perform port related actions from msmouse.inf
> Include=msmouse.inf
> Needs=HID_Mouse_Inst
>
> ; Copy the driver over
> CopyFiles=moufiltr.CopyFiles
>
>
> ;
> ; File sections
> ;
>
> [moufiltr.CopyFiles]
> moufiltr.sys
>
>
> ;
> ; Service Installation
> ;
>
> [moufiltr.Services]
> AddService = moufiltr, , moufiltr_Service_Inst
> ; Install the port driver and mouclass from msmouse.inf
> Include=msmouse.inf
> Needs=HID_Mouse_Inst.Services
>
> [moufiltr_Service_Inst]
> DisplayName = %moufiltr.SvcDesc%
> ServiceType = 1 ; SERVICE_KERNEL_DRIVER
> StartType = 3 ; SERVICE_DEMAND_START
> ErrorControl = 0 ; SERVICE_ERROR_IGNORE
> LoadOrderGroup = Pointer Port
> ServiceBinary = %12%\moufiltr.sys
>
> [moufiltr.HW]
> ; Add the device upper filter
> AddReg = moufiltr.HW.AddReg
>
> ; run the directives need by the port driver
> Include=msmouse.inf
> Needs=HID_Mouse_Inst.HW
>
> [moufiltr.HW.AddReg]
> HKR,,"UpperFilters",0x00010000,"moufiltr"
>
>
> ;
> ; Source file information
> ;
>
> ; use [SourceDisksNames.x86] for x86 only installs
> ; use [SourceDisksNames.alpha] for alpha only installs
>
> [SourceDisksNames]
> 1 = %DiskId1%,,,
>
> [SourceDisksFiles]
> moufiltr.sys = 1,,
>
>
> [Strings]
>
> ;
> ; Non-Localizable Strings
> ;
>
> REG_SZ = 0x00000000
> REG_MULTI_SZ = 0x00010000
> REG_EXPAND_SZ = 0x00020000
> REG_BINARY = 0x00000001
> REG_DWORD = 0x00010001
> SERVICEROOT = "System\CurrentControlSet\Services"
>
> ;
> ; Localizable Strings
> ;
>
> DiskId1 = "DDK Example Installation Disk #1 (Mouse)"
> DDK_Ex = "DDK Example Device that needs flitering"
> moufiltr.SvcDesc="Mouse Filter Example"
>
>
>
> "Ray Trent" <ratrent@nospam.nospam> wrote in message
> news:%23mkTT$LMFHA.2736@TK2MSFTNGP09.phx.gbl...
>
>>Oh, right... In your needs/includes section, you need to change the
>>"PS2_Inst" to "HID_Mouse_Inst" (actually, you probably only need to
>>include "HID_Mouse_Inst.NT.Services", but I'm not sure about that in
>>this situation).
>>
>>Liang Fu wrote:
>>
>>>Sorry, I copied the original moufiltr.inf in my first email. But I did
>>>change it to HID_DEVICE_SYSTEM_MOUSE and also *HID_DEVICE_SYSTEM_MOUSE
>
> in
>
>>>my modified moufiltr.inf. Both cases I got the same error message quoted
>
> in
>
>>>my first email.
>>>
>>>Liang Fu
>>>
>>>"Ray Trent" <ratrent@nospam.nospam> wrote in message
>>>news:e%23IybuLMFHA.4028@tk2msftngp13.phx.gbl...
>>>
>>>
>>>>The only thing I see that's obvious is that in the INF file you
>>>>included, the PNP ID was still "*PNP0FAKE", rather than
>>>>HID_DEVICE_SYSTEM_MOUSE.
>>>>
>>>>Liang Fu wrote:
>>>>
>>>>
>>>>>Ray,
>>>>>Thank you very much for your help. Unfortunately, when I changed
>>>
>>>*PNP0F13
>>>
>>>
>>>>>(which you taught me and worked perfect for PS/2 mouse) to
>>>>>HID_DEVICE_SYSTEM_MOUSE in moufiltr.inf, I got error message from
>>>
>>>FastInst:
>>>
>>>
>>>>>Error E0000219 in UpdateDriverForPlugAndPlayDevices:
>>>>>ERROR_NO_ASSOCIATED_SERVICE
>>>>>
>>>>>I copied my moufiltr.inf down below. I know that my mistakes are
>>>
>>>probably
>>>
>>>
>>>>>laughable, but please help me to correct them.
>>>>>
>>>>>Thanks in advance.
>>>>>
>>>>>Liang Fu
>>>>>
>>>>>; moufiltr.inf
>>>>>;
>>>>>; Installation inf for the Device that needs flitering adapter.
>>>>>;
>>>>>; (c) Copyright 1999 Microsoft
>>>>>;
>>>>>
>>>>>[Version]
>>>>>Signature="$Windows NT$"
>>>>>Provider=%DDK_Ex%
>>>>>ClassGUID={4D36E96F-E325-11CE-BFC1-08002BE10318}
>>>>>Class=Mouse
>>>>>CatalogFile=moufiltr.cat
>>>>>DriverVer=07/20/1999
>>>>>
>>>>>[DestinationDirs]
>>>>>DefaultDestDir = 12
>>>>>
>>>>>;
>>>>>; Driver information
>>>>>;
>>>>>
>>>>>[Manufacturer]
>>>>>%DDK_Ex% = DDK_Ex.Mfg
>>>>>
>>>>>[DDK_Ex.Mfg]
>>>>>%DDK_Ex% = moufiltr, *PNP0FAKE
>>>>>
>>>>>
>>>>>;
>>>>>; General installation section
>>>>>;
>>>>>
>>>>>[moufiltr]
>>>>>; perform port related actions from msmouse.inf
>>>>>Include=msmouse.inf
>>>>>Needs=PS2_Inst
>>>>>
>>>>>; Copy the driver over
>>>>>CopyFiles=moufiltr.CopyFiles
>>>>>
>>>>>
>>>>>;
>>>>>; File sections
>>>>>;
>>>>>
>>>>>[moufiltr.CopyFiles]
>>>>>moufiltr.sys
>>>>>
>>>>>
>>>>>;
>>>>>; Service Installation
>>>>>;
>>>>>
>>>>>[moufiltr.Services]
>>>>>AddService = moufiltr, , moufiltr_Service_Inst
>>>>>; Install the port driver and mouclass from msmouse.inf
>>>>>Include=msmouse.inf
>>>>>Needs=PS2_Inst.Services
>>>>>
>>>>>[moufiltr_Service_Inst]
>>>>>DisplayName = %moufiltr.SvcDesc%
>>>>>ServiceType = 1 ; SERVICE_KERNEL_DRIVER
>>>>>StartType = 3 ; SERVICE_DEMAND_START
>>>>>ErrorControl = 0 ; SERVICE_ERROR_IGNORE
>>>>>LoadOrderGroup = Pointer Port
>>>>>ServiceBinary = %12%\moufiltr.sys
>>>>>
>>>>>[moufiltr.HW]
>>>>>; Add the device upper filter
>>>>>AddReg = moufiltr.HW.AddReg
>>>>>
>>>>>; run the directives need by the port driver
>>>>>Include=msmouse.inf
>>>>>Needs=PS2_Inst.HW
>>>>>
>>>>>[moufiltr.HW.AddReg]
>>>>>HKR,,"UpperFilters",0x00010000,"moufiltr"
>>>>>
>>>>>
>>>>>;
>>>>>; Source file information
>>>>>;
>>>>>
>>>>>; use [SourceDisksNames.x86] for x86 only installs
>>>>>; use [SourceDisksNames.alpha] for alpha only installs
>>>>>
>>>>>[SourceDisksNames]
>>>>>1 = %DiskId1%,,,
>>>>>
>>>>>[SourceDisksFiles]
>>>>>moufiltr.sys = 1,,
>>>>>
>>>>>
>>>>>[Strings]
>>>>>
>>>>>;
>>>>>; Non-Localizable Strings
>>>>>;
>>>>>
>>>>>REG_SZ = 0x00000000
>>>>>REG_MULTI_SZ = 0x00010000
>>>>>REG_EXPAND_SZ = 0x00020000
>>>>>REG_BINARY = 0x00000001
>>>>>REG_DWORD = 0x00010001
>>>>>SERVICEROOT = "System\CurrentControlSet\Services"
>>>>>
>>>>>;
>>>>>; Localizable Strings
>>>>>;
>>>>>
>>>>>DiskId1 = "DDK Example Installation Disk #1 (Mouse)"
>>>>>DDK_Ex = "DDK Example Device that needs flitering"
>>>>>moufiltr.SvcDesc="Mouse Filter Example"
>>>>>
>>>>>
>>>>>"Ray Trent" <ratrent@nospam.nospam> wrote in message
>>>>>news:ezF5NpwLFHA.3632@TK2MSFTNGP10.phx.gbl...
>>>>>
>>>>>
>>>>>
>>>>>>If you want to filter all mice, make it a MOUCLASS lower filter.
>>>>>>
>>>>>>If you want to filter USB mice particularly, just set your PnP ID to
>
> the
>
>>>>>>PnP ID of the USB mouse you're trying to filter. If you don't know
>
> what
>
>>>>>>that will be, you can use HID_DEVICE_SYSTEM_MOUSE, though that will
>>>>>>install you as an upper filter on MOUHID, rather than HIDCLASS. One
>>>>>>might wonder, though, why being on top of HIDCLASS would be desirable.
>>>>>>It's not a spot you'd usually want to install on.
>>>>>>
>>>>>>On the other hand, I've said this several times before, so I think
>
> I'll
>
>>>>>>shut up after this...
>>>>>>
>>>>>>Liang Fu wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>Hi everyone,
>>>>>>>I installed moufiltr on the PS/2 port by simply replacing *PNP0FAKE
>>>
>>>with
>>>
>>>
>>>>>>>*PNP0F13 in moufiltr.inf (thanks for the support from this site) and
>
> I
>
>>>>>could
>>>>>
>>>>>
>>>>>
>>>>>>>monitor and modify PS/2 mouse data packets in
>
> MouFilter_ServiceCallback
>
>>>>>>>routine . Now I would like to do the same for the USB mouse, i.e., I
>>>>>
>>>>>would
>>>>>
>>>>>
>>>>>
>>>>>>>like to modify moufiltr.inf so that I can install moufiltr on top of
>>>
>>>HID
>>>
>>>
>>>>>>>class. What parts in moufiltr.inf do I have to change?
>>>>>>>
>>>>>>>Thanks in advance.
>>>>>>>Liang Fu
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>--
>>>>>>../ray\..
>>>>>
>>>>>
>>>>>
>>>>--
>>>>../ray\..
>>>
>>>
>>>
>>--
>>../ray\..
>
>
>
--
../ray\..