From f37ae29b49089dbb97fe95070aad4444050594e5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Bernon?= Date: Mon, 20 Sep 2021 09:37:04 +0200 Subject: [PATCH] winebus.sys: Use WINEBUS\ as device id prefix for all buses. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: RĂ©mi Bernon Signed-off-by: Alexandre Julliard --- dlls/winebus.sys/main.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dlls/winebus.sys/main.c b/dlls/winebus.sys/main.c index d3f40806e73..92a41e4d8ef 100644 --- a/dlls/winebus.sys/main.c +++ b/dlls/winebus.sys/main.c @@ -209,15 +209,19 @@ static WCHAR *get_instance_id(DEVICE_OBJECT *device) static WCHAR *get_device_id(DEVICE_OBJECT *device) { static const WCHAR input_format[] = L"&MI_%02u"; - static const WCHAR format[] = L"%s\\vid_%04x&pid_%04x"; + static const WCHAR winebus_format[] = L"WINEBUS\\VID_%04X&PID_%04X"; struct device_extension *ext = (struct device_extension *)device->DeviceExtension; - DWORD pos = 0, len = wcslen(ext->desc.busid) + 34; + DWORD pos = 0, len = 0, input_len = 0, winebus_len = 25; WCHAR *dst; + if (ext->desc.input != -1) input_len = 14; + + len += winebus_len + input_len + 1; + if ((dst = ExAllocatePool(PagedPool, len * sizeof(WCHAR)))) { - pos += swprintf(dst + pos, len - pos, format, ext->desc.busid, ext->desc.vid, ext->desc.pid); - if (ext->desc.input != -1) pos += swprintf(dst + pos, len - pos, input_format, ext->desc.input); + pos += swprintf(dst + pos, len - pos, winebus_format, ext->desc.vid, ext->desc.pid); + if (input_len) pos += swprintf(dst + pos, len - pos, input_format, ext->desc.input); } return dst; -- 2.11.4.GIT