HIDCLASS is a bus independent protocol, it relies on the miniport to
provide transport specifics (like reading and writing data), so your
stack would look like
Usbhub
|
±your device driver’s stack
to communicate with usbhub, you send URBs down the stack. I think what
is causing confusion for you is that each driver has to “edges” of
communications. The lower edge is the specifics of the bus it
communicates with (URBs for USB, registers for PCI, etc). The upper
edge is the specifics of the interface that the driver uses to
communicate with components *above* it. So in this case, your lower
edge is USB and your upper edge is either HIDCLASS or the mouse class
interface.
If you don’t have Walter Oney’s WDM book, go get it and read the chapter
on USB on how to communicate with the usb bus. As a bonus, it also
describes HID in great detail as well.
If all you want to do is shuttle pointer information to the system, you
can write your own input port driver. If you want to communicate with
your driver from user mode and manipulate settings, then I would go with
a HID miniport and declare 2 top level collections; one for your mouse
and one for your settings. The settings collection can be opened in
user mode by your config application.
D
-----Original Message-----
From: Seshagiri_Babu [mailto:xxxxx@Satyam.com]
Sent: Friday, June 21, 2002 8:14 AM
To: NT Developers Interest List
Subject: [ntdev] RE: usb pointing device
I got it Doron. Now these r my specs for the device. How would u go
about
developing a driver for the pointing device?
- Device is USB-compliant
- Device is not HID-Compliant
I can think of only two possibilities …
i) Registering with HIDCLASS and talking to USB stack somehow (i
don’t know how)
ii) talking to mouclass directly by mentioning our class
belonging to MOUSE type and belonging to USB bus
Is there any other way to do it? Or one of these would be fine…
From: Doron Holan[SMTP:xxxxx@windows.microsoft.com]
Reply To: NT Developers Interest List
Sent: Friday, June 21, 2002 7:58 AM
To: NT Developers Interest List
Subject: [ntdev] RE: usb pointing device
Usb controller
|
±Usb root Hub (usbhub.sys)
|
±[potentially more hubs or usb generic parent]
|
±hidusb/hidclass.sys (*)
|
±mouhid.sys (with mouclass.sys layered on top of
it)
imagine + as the PDO for each separate pnp device stack here. One easy
way to visualize this is to plug in a usb mouse and open device
manager
and then view by connection.
If you want to talk to usb, you would your driver as a lower filter
between the PDO and hidusb where the (*) is. The next question is why
you would do this. A couple of complications arise, primarily that
hidclass does not allow creates to its parent devobj (the FDO) so
sending a create file down to your filter is a bit difficult.
d
-----Original Message-----
From: Seshagiri_Babu [mailto:xxxxx@Satyam.com]
Sent: Friday, June 21, 2002 6:52 AM
To: NT Developers Interest List
Subject: [ntdev] usb pointing device
Dear All,
I have a usb pointing device and i spcify my device to be
enumerated by
usb bus and as belonging to HID class.
Can anyone explain me how the device layering will be and is it
possible for me to communicate with the USB stack?
cheers
Sesha.
************************************************************************
**
This email (including any attachments) is intended for the sole use of
the
intended recipient/s and may contain material that is CONFIDENTIAL AND
PRIVATE COMPANY INFORMATION. Any review or reliance by others or
copying
or
distribution or forwarding of any or all of the contents in this
message
is
STRICTLY PROHIBITED. If you are not the intended recipient, please
contact
the sender by email and delete all copies; your cooperation in this
regard
is appreciated.
************************************************************************
**
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to %%email.unsub%%
You are currently subscribed to ntdev as: xxxxx@satyam.com
To unsubscribe send a blank email to %%email.unsub%%
************************************************************************
**
This email (including any attachments) is intended for the sole use of
the
intended recipient/s and may contain material that is CONFIDENTIAL AND
PRIVATE COMPANY INFORMATION. Any review or reliance by others or copying
or
distribution or forwarding of any or all of the contents in this message
is
STRICTLY PROHIBITED. If you are not the intended recipient, please
contact
the sender by email and delete all copies; your cooperation in this
regard
is appreciated.
************************************************************************
**
You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to %%email.unsub%%