Questions about the HID

Hi,

I am trying to develop a KMDF driver for a HID USB device that supports
multiple touch and mouse. I have read some WDK sample code and some
Microsoft documents. I still have couple questions.

  1. It seems I should build my driver with the Mshidkmdf.sys . In this
    case, in application how do I open the driver with the openFile .

  2. Since only Windows 7 supports guster, Vista only support single touch
    and XP only support mouse. The application needs to call HidD_SetFeature
    to set report mode. I put REPORT_FEATURE collection in the Hid report
    descriptor. How does the application get the ReportId pass to driver?

  3. How the Windows Touch connects to my driver? It automatically detects
    the device or the application need to do something to get WM_TOUCH or
    WM_GUSTER events. How the Windows Touch get data reports from driver,
    just use busy waiting call GetData ioctl call?

Thanks for help.

Bob

  1. Yes, you need the pass through hid miniport driver. Your kmdf hid “miniport” cannot be opened directly. Hidclass above you blocks it

  2. You don’t need the report id in the application, hidclass will fill in the report it

  3. The touch subsystem will find your hid based on usage page. It will take care of the app semantics of how the touch message is sent

From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@Grayhill.com
Sent: Wednesday, June 06, 2012 10:37 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Questions about the HID

Hi,

I am trying to develop a KMDF driver for a HID USB device that supports multiple touch and mouse. I have read some WDK sample code and some Microsoft documents. I still have couple questions.

  1. It seems I should build my driver with the Mshidkmdf.sys . In this case, in application how do I open the driver with the openFile .

  2. Since only Windows 7 supports guster, Vista only support single touch and XP only support mouse. The application needs to call HidD_SetFeature to set report mode. I put REPORT_FEATURE collection in the Hid report descriptor. How does the application get the ReportId pass to driver?

  3. How the Windows Touch connects to my driver? It automatically detects the device or the application need to do something to get WM_TOUCH or WM_GUSTER events. How the Windows Touch get data reports from driver, just use busy waiting call GetData ioctl call?

Thanks for help.

Bob — 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