Upper filter device driver for a mouse

Yes, good job Mr Ruedinger. Here is a link for a good template file to start with :

http://contents.driverguide.com/content.php?id=1257354&path=logitech.inf

This is a better option, because, if the user unplugs the mouse and plugs it in a different USB port, and a brand new device is created with a new registry configuration, the driver would need a companion app that would wait for PNP notifications to handle this case.

With this kind of inf file you could avoid using apps. Hope this is correct.

Sorry, this inf file template is probably easier to work with :

https://github.com/Microsoft/Windows-driver-samples/blob/master/input/moufiltr/moufiltr.inx

Thanks to your help, I was finally able to install the driver as an upper filter one in the stack of interest.

Still a long long way to go as I’m now getting a “code 10” error. I will keep looking to figure out what’s going on. I guess it has now something do to with the code itself and not the .inf file.

I do partially agree to this comment :

“This assignment has huge potential to turn the developer into a poor soul smashing the head endlessly to the wall [?] There are so many other exciting projects. Much easier to hire a consultant with the right expertise who can do the assignment within a few days only using very few lines of code.”

As I’m sometimes wondering whether it’s really worth to learn how to code this driver by myself as I won’t certainly ever have to use this knowlege later in my life. This doubt is even more nourished considering the difficulty of the task. However, I consider my idea/project exciting and picturing myself using the end product to control my computer helps me stay motivated.

I wish I could hire a consultant to do it for me but as a student, I?clearly don’t have the money for that. In fact, I would really like to find a Windows Driver Developer who would be willing to spend for free a couple hours with me (either irl or using skype for instance) to brief me on driver development and teach me the basis for what I want to accomplish so I could start being productive way faster. But I guess I’m just being a stargazer there? Anyway, if you do know one, just let me know :slight_smile:

Code 10 means a failure to start the device. So look at your power up and self managed io routines

Bent from my phone


From: xxxxx@lists.osr.com on behalf of xxxxx@gmail.com xxxxx@lists.osr.com
Sent: Sunday, July 23, 2017 9:09:13 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Upper filter device driver for a mouse

Thanks to your help, I was finally able to install the driver as an upper filter one in the stack of interest.

Still a long long way to go as I’m now getting a “code 10” error. I will keep looking to figure out what’s going on. I guess it has now something do to with the code itself and not the .inf file.

I do partially agree to this comment :

“This assignment has huge potential to turn the developer into a poor soul smashing the head endlessly to the wall [?] There are so many other exciting projects. Much easier to hire a consultant with the right expertise who can do the assignment within a few days only using very few lines of code.”

As I’m sometimes wondering whether it’s really worth to learn how to code this driver by myself as I won’t certainly ever have to use this knowlege later in my life. This doubt is even more nourished considering the difficulty of the task. However, I consider my idea/project exciting and picturing myself using the end product to control my computer helps me stay motivated.

I wish I could hire a consultant to do it for me but as a student, I?clearly don’t have the money for that. In fact, I would really like to find a Windows Driver Developer who would be willing to spend for free a couple hours with me (either irl or using skype for instance) to brief me on driver development and teach me the basis for what I want to accomplish so I could start being productive way faster. But I guess I’m just being a stargazer there? Anyway, if you do know one, just let me know :slight_smile:


NTDEV is sponsored by OSR

Visit the list online at: https:

MONTHLY seminars on crash dump analysis, WDF, Windows internals and software drivers!
Details at https:

To unsubscribe, visit the List Server section of OSR Online at https:</https:></https:></https:>

Marcel R. wrote

@Pavel A
I almost overlooked one topic: What makes you think that “…Multipoint
Server…definitely has custom kernel-side layer.”?

Many moons ago I was at interview in a company that needed custom setup based on the Multipoint server, they discussed some internals. IIRC there are (were?) filters or virtual USB hubs that protect USB devices of one user from other users, and also something to assign displays attached to multi-head video cards to users. Maybe all this has changed in the last version, I have not looked again.

Regards,
P.

OK, if you call a simple USB filter/redirector driver a “custom kernel-side layer” in the context of discussing “normal client OS” architecture, then I might possibly have a slightly different opinion about terminology, but I don’t want to start nitpicking here.

Much more interesting is Multipoint Server graphics adapter and display assignment to users. To me it only seemed like each locally attached display Monitor was used by a separate RDP client running in the local console session. I didn’t see any indicator nor necessity for any kernel mode layer or component to assign displays to users. If there was, I would be very much interested to hear and learn about it.

Marcel Ruedinger
datronicsoft

Hey,
I was discussing with a friend this afternoon about my project and the difficulties I was having developing this driver and he told me that I could probably achieve the same functionnalities using this :

https://msdn.microsoft.com/en-us/library/windows/hardware/dn376885(v=vs.85).aspx

instead of writing an upper filter device driver.

What do you think ? To me, it seems indeed to be a good solution and would remove a lot of the burden that I would get developing a driver. (the app would be running in the background, communicating to the mouse device and sending messages to the other apps?).

Guillaume.