HID beginner here needs suggestions

HID implementation is new thing to me. Basically what i am trying to make is an Application that controls the USB Monitor. This Monitor belongs to a HID class device. My reference is the USB MCCS provided by usb.org.

Some behavior is handling interrupts from a usb monitor via interrupt pipe.
and some custom commands via control pipe. These commands will be send by the host to the monitor for sending Monitor Control Command sets over USB HID through get_reports and set_reports request, as what i have read. in my situation, i disregard the capabilities in Display-Port side first.

How do i make this things work:

  1. Does this interrupts can be handle through the application?
    Or Do I need to make a User-Mode driver(umdf)?, any link for HID umdf?

  2. a. There are exported routines using the HID.dll in application side, are those routines leads me on how to handle the interrupt from the USB HID monitor device?
    b. Is interrupt handling limits only in kernel mode side?

  3. Do i make kernel mode driver(kmdf) for handling this interrupts? Which part of the driver/device stack is a better place for this driver?

Thanks in advance for your advise.

If your device conforms to the hid usb spec, you do not write a driver (or author an INF) at all. The in box driver, hidusb, will load on your device instance and expose a hid device interface instance for each top level collection in your hid descriptor. The in box driver takes care of the control and interrupt endpoints. All you need to do is write an app that opens a handle and uses hid.dll APIs to communicate with the device.

Hid monitors have always been rare, what are you using hid to control?

d

sent from a phpne with no keynoard

-----Original Message-----
From: xxxxx@gmail.com
Sent: May 25, 2010 12:45 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] HID beginner here needs suggestions

HID implementation is new thing to me. Basically what i am trying to make is an Application that controls the USB Monitor. This Monitor belongs to a HID class device. My reference is the USB MCCS provided by usb.org.

Some behavior is handling interrupts from a usb monitor via interrupt pipe.
and some custom commands via control pipe. These commands will be send by the host to the monitor for sending Monitor Control Command sets over USB HID through get_reports and set_reports request, as what i have read. in my situation, i disregard the capabilities in Display-Port side first.

How do i make this things work:
1. Does this interrupts can be handle through the application?
Or Do I need to make a User-Mode driver(umdf)?, any link for HID umdf?

2. a. There are exported routines using the HID.dll in application side, are those routines leads me on how to handle the interrupt from the USB HID monitor device?
b. Is interrupt handling limits only in kernel mode side?

3. Do i make kernel mode driver(kmdf) for handling this interrupts? Which part of the driver/device stack is a better place for this driver?

Thanks in advance for your advise.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Thank you very much… that helps a lot…

I dont have any idea of do I handle the interrupt, will I do polling from an incoming reports from interrupt pipe?

Open the file handle as FILE_FLAG_OVERLAPPED and pend an io request. It will complete when there is data. When it completes you send down another io request.

d

sent from a phpne with no keynoard

-----Original Message-----
From: xxxxx@gmail.com
Sent: May 25, 2010 7:32 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] HID beginner here needs suggestions

Thank you very much… that helps a lot…

I dont have any idea of do I handle the interrupt, will I do polling from an incoming reports from interrupt pipe?


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Thank you very much, Sample client HID from WDK leads me to what you’d said.

thanks OSR, more power!