Zebediah Figura
b84334d2bd
hidclass.sys: Create a mouse device interface for HID mouse devices.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 21:14:54 +02:00
Zebediah Figura
878a1f5cea
hidclass.sys: Detach the HID device before deleting it.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-27 09:29:13 +02:00
Zebediah Figura
3d011fcdff
hidclass.sys: Get rid of unused minidriver parameter to HID_DeleteDevice().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 17:41:27 +02:00
Zebediah Figura
6c6aeea8a8
ntoskrnl.exe: Correctly handle instance IDs.
...
The instance ID is only the third part of the "A\B\C" form, and must be
combined with the device ID to form the whole name for setupapi (the "device
instance ID").
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 16:46:20 +02:00
Alexandre Julliard
af0e0d9b62
hidclass.sys: Build with msvcrt.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-05 08:36:39 +02:00
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