Piotr Caban
99114803b8
hidclass.sys: Limit written data to the actual report size.
...
Linux hidraw devices are not accepting to large set feature ioctls.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-14 21:19:37 +02:00
Piotr Caban
395d268565
hid: Change format of preparsed data.
...
Advantages of this format:
- all table elements have constant size, that makes iterating table easier
- allow report lookup by report ID in O(1) time
- doesn't sort reports, it makes it possible to preserve original order
of elements making output of functions more similar to native
- preparsed data is created from collection, this will allow to add
support for multiple top-most collections
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 18:48:51 +02:00
Jacek Caban
f7bc649598
hidclass.sys: Support canceling read IRPs.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 08:14:35 -05:00
Jacek Caban
85082e8bd3
hidclass.sys: Make read IRP queue thread safe.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-09 08:14:31 -05:00
Zhiyi Zhang
56b509a84a
hidclass.sys: Handle create existent device failure.
...
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-21 19:32:35 +01:00
Aric Stewart
7229893493
hidclass.sys: Move IoSetDeviceInterfaceState to PNP_RemoveDevice.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 17:05:08 +01:00
Aric Stewart
5b31b764c0
hidclass.sys: IoCreateSymbolicLink is now called by IoSetDeviceInterfaceState.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-20 17:05:02 +01:00
Aric Stewart
ec2234102a
hidclass.sys: Use IoRegisterDeviceInterface.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 09:56:18 +01:00
Zebediah Figura
91ac8eb00a
hidclass.sys: Update the interface state when a device is added or removed.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-19 17:46:39 +02:00
Aric Stewart
97c925957c
hidclass.sys: Handle opportunistic reads.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 22:17:06 +01:00
Aric Stewart
1ccb1719cb
hidclass.sys: IOCTL_HID_GET_INPUT_REPORT has report ID as first byte.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 20:40:13 +01:00
Aric Stewart
68ecd3b76a
hidclass.sys: When processing reads fill all the buffers.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:57:56 +01:00
André Hentschel
902b8a2b6d
hidclass.sys: Fix compilation on systems that don't support nameless structs.
...
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 10:38:00 +01:00
Aric Stewart
d0039106de
hidclass: All reports read or written to user space lead with a reportId.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 15:28:23 +01:00
Sebastian Lackner
3f5e8715b3
hidclass.sys: Fix memory leak in hid_device_thread.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-27 09:36:44 +02:00
Sebastian Lackner
9581f4c15a
hidclass.sys: Update reportBuffer pointer after reading packet from ringbuffer.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-27 09:36:38 +02:00
Aric Stewart
fc1485b86b
hid: Implement HidD_SetOutputReport.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-26 20:12:04 +02:00
Aric Stewart
c5dde63b19
hidclass.sys: Use IoSetCompletionRoutine.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-19 08:10:34 -07:00
Sebastian Lackner
6d8eb8ba0c
hidclass.sys: Use MmGetSystemAddressForMdlSafe to access MDL data.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-18 06:14:54 -07:00
Sebastian Lackner
8f76052902
hidclass.sys: Do not return last error / HRESULT values in NTSTATUS functions.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-12 23:42:15 +09:00
Aric Stewart
ab3b9bd84d
hidclass.sys: Call IoAttachDeviceToDeviceStack when creating HID device.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 13:37:06 +09:00
Aric Stewart
0564257349
hidclass.sys: Use the instance id for the device link.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 14:59:48 +09:00
Aric Stewart
be91fcd879
hidclass.sys: Improvements for IOCTL_HID_GET_FEATURE handling.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 00:37:06 +09:00
Aric Stewart
1b62b7f3c9
hidclass.sys: Correct input vs output parameters for IOCTL_HID_SET_FEATURE.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-06 00:37:03 +09:00
Changhui Liu
3f2055b1cf
hidclass.sys: Properly quit hid_device_thread when both completion event and halt event are signaled.
...
Signed-off-by: Changhui Liu <liuchanghui@linuxdeepin.com>
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 23:58:04 +09:00
Aric Stewart
d24239efdf
hidclass.sys: Implement IOCTL_HID_SET_FEATURE.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 21:23:28 +09:00
Aric Stewart
5a06668488
hidclass.sys: Implement IOCTL_HID_GET_FEATURE.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 21:23:22 +09:00
Aric Stewart
ba84b6472e
hidclass.sys: Implement HID_Device_write.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-14 21:23:11 +09:00
Aric Stewart
b70069a58e
hidclass.sys: Implement IOCTL_HID_GET_SERIALNUMBER_STRING.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-30 15:10:18 +09:00
Aric Stewart
e27a4b5e1b
hidclass.sys: Correct size of IOCTL request and unused return value.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 12:15:56 +09:00
Aric Stewart
b95027f048
hidclass.sys: Implement IOCTL_GET(SET)_NUM_DEVICE_INPUT_BUFFERS.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:22 +09:00
Aric Stewart
a89aa77653
hidclass.sys: Stub to handle IRP_MJ_WRITE on HID devices.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:22 +09:00
Aric Stewart
35938ed8be
hidclass.sys: Add a processing thread for HID devices.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:22 +09:00
Aric Stewart
76d8b4ca02
hidclass.sys: Make sure we pass in the index not a pointer to the index.
...
Signed-off-by: Aric Stewart <aric@codeweavers.com>
2015-10-07 13:27:23 +09:00
Aric Stewart
1de389ae2b
hidclass.sys: Implement IRP_MJ_READ for HID Devices.
2015-09-15 18:29:13 +09:00
Aric Stewart
01aa7a6ec1
hidclass.sys: Implment IRP_MJ_CREATE and IRP_MJ_CLOSE for HID Devices.
2015-09-15 18:29:10 +09:00
Aric Stewart
28125d40c2
hidclass.sys: Implement IRP_MJ_DEVICE_CONTROL for HID devices.
2015-09-15 18:28:01 +09:00
Aric Stewart
7e2ca70f79
hidclass.sys: Implement a report ring buffer.
2015-09-14 18:14:10 +09:00
Aric Stewart
0aca2d7dc9
hidclass.sys: Implement creating/destroying HID devices.
2015-09-04 18:08:26 +09:00