Rémi Bernon
8e4d668e34
hidclass.sys: Register GUID_DEVINTERFACE_KEYBOARD interface.
...
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-23 20:02:06 +02:00
Zebediah Figura
a173672911
hidclass.sys: Stop creating a setupapi device.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-19 22:06:56 +02:00
Zebediah Figura
f34b735eba
hidclass.sys: Create separate parent FDO and child PDO objects.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 22:39:45 +02:00
Zebediah Figura
902696de93
hidclass.sys: Use GUID_DEVINTERFACE_HID directly.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 12:17:01 +02:00
Zebediah Figura
a85d0f576a
hidclass.sys: Remove the unused device_name field.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 12:16:53 +02:00
Zebediah Figura
5cc9c5ab51
hidclass.sys: Pass a KEVENT to IoBuildDeviceIoControlRequest() in hid_device_thread().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-16 12:16:43 +02:00
Rémi Bernon
f4d5f7e88a
hidclass.sys: Assign rawinput device handle in HID_LinkDevice.
...
The handles are just numeric values and not real object handles, they
are used in the hDevice field of the RAWINPUTHEADER struct.
They will also be used as an HID rawinput device array index on the
server side.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50506
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-15 10:37:55 +02:00
Zebediah Figura
fd25cc3c3b
hidclass.sys: Always wait for the lower driver in hid_device_thread().
...
Doing otherwise may result in memory corruption. The lower driver should complete its IRPs on device removal anyway.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-15 10:34:03 +02:00
Michael Stefaniuc
f073d9a9d3
hidclass.sys: Use wide-char string literals.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 11:25:18 +01:00
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