I have a piece of hardware (a joystick) that connects to the PC through the USB port. There is a dll interface that talks to the joystick.
When I plug the device in, the drivers install, and I am able to communicate with the device using the interfaces in the dlls (eg, WriteDevice(), ReadDevice(), etc). This works fine.
My problem is, I want the device to be installed in the Game Controllers section of the Control Panel. In other words, I don't want to have to write special code to use this joystick, I want to use it like any other joystick device.
I assume I will have to write a driver layer to go between Windows and the dlls I'm using now to talk to the device.
I have bought "Programming the Microsoft WDM" and have searched everywhere on the net, but cannot find any information on how I should go about this. The 2000 DDK comes with source code for HID devices, but this device is not HID compliant.
So, if anyone could provide me some direction, that would be great, eg what steps do I need to take? Source code examples would be even better.
Just so you know your audience: I know Win32 API programming very well, and am experienced with MASM32 assembly programming, but have never coded anything at the kernel level before, so I'm not even sure what direction to go in with a problem like this.