HIDclass minidriver gets polled endlessly

Hello all.

I created a HIDclass minidriver to read a device. I have set the
DevicesArePolled value to true in the entry function. Requests to
IOCTL_HID_READ_REPORT are answered immediately. (read a port in PCI space,
twist the bits a little, reply.)

Installation works fine. When trying to enumerate HID devices from user
space using DirectInput, the system starts sending IOCTL_HID_READ_REPORT
Irps in an endless loop and the enumeration of DirectInput blocks forever.
When I kill the testprogram do the enumeration, the stream of Irps to the
HID minidriver stops.

It looks like the system is trying to install ping-pong Irps even though the
HID device is set to be a polling device.

Anyone know a possible cause for this? Had a similar problem?

Thanks, guys.

Achim.

I pinged the owner of hidclass. He strongly recommended using the ping
pong irps to report data and not report that your devices are polled.
Ping pongs are much more reliable then polling.

d

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Achim
Sent: Friday, January 28, 2005 3:29 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] HIDclass minidriver gets polled endlessly

Hello all.

I created a HIDclass minidriver to read a device. I have set the
DevicesArePolled value to true in the entry function. Requests to
IOCTL_HID_READ_REPORT are answered immediately. (read a port in PCI
space,
twist the bits a little, reply.)

Installation works fine. When trying to enumerate HID devices from user
space using DirectInput, the system starts sending IOCTL_HID_READ_REPORT
Irps in an endless loop and the enumeration of DirectInput blocks
forever.
When I kill the testprogram do the enumeration, the stream of Irps to
the
HID minidriver stops.

It looks like the system is trying to install ping-pong Irps even though
the
HID device is set to be a polling device.

Anyone know a possible cause for this? Had a similar problem?

Thanks, guys.

Achim.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com