user32: Uppercase the RawInput device names sans the GUID.

This is a preparation for a patch that changes setupapi to return lowercased
device paths, which is the source of RawInput device name here. On Windows
RawInput returns mostly uppercase names (except the GUID) and we want to keep
that behavior.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Arkadiusz Hiler 2021-12-23 15:33:08 +01:00 committed by Alexandre Julliard
parent f6482d1c45
commit a60c5e6961
1 changed files with 4 additions and 0 deletions

View File

@ -101,6 +101,7 @@ static struct device *add_device(HDEVINFO set, SP_DEVICE_INTERFACE_DATA *iface)
struct device *device = NULL;
UINT32 handle;
HANDLE file;
WCHAR *pos;
DWORD i, size, type;
SetupDiGetDeviceInterfaceDetailW(set, iface, NULL, 0, &size, &device_data);
@ -125,6 +126,9 @@ static struct device *add_device(HDEVINFO set, SP_DEVICE_INTERFACE_DATA *iface)
detail->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W);
SetupDiGetDeviceInterfaceDetailW(set, iface, detail, size, NULL, NULL);
/* upper case everything but the GUID */
for (pos = detail->DevicePath; *pos && *pos != '{'; pos++) *pos = towupper(*pos);
file = CreateFileW(detail->DevicePath, GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0);
if (file == INVALID_HANDLE_VALUE)