From f10f98cfa2b956c73e48b83936a44e4a92c7409d Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Sun, 10 Nov 2019 08:58:47 +0000 Subject: [PATCH] dinput: Keyboard device doesn't support property DIPROP_VIDPID. Signed-off-by: Alistair Leslie-Hughes Signed-off-by: Alexandre Julliard --- dlls/dinput/keyboard.c | 1 + dlls/dinput/tests/keyboard.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c index b5e665933ec..47f28cac52a 100644 --- a/dlls/dinput/keyboard.c +++ b/dlls/dinput/keyboard.c @@ -577,6 +577,7 @@ static HRESULT WINAPI SysKeyboardWImpl_GetProperty(LPDIRECTINPUTDEVICE8W iface, memcpy(ps->wsz, didoi.tszName, sizeof(ps->wsz)); return hr; } + case (DWORD_PTR) DIPROP_VIDPID: case (DWORD_PTR) DIPROP_RANGE: return DIERR_UNSUPPORTED; default: diff --git a/dlls/dinput/tests/keyboard.c b/dlls/dinput/tests/keyboard.c index 84e6fed0782..1cd31e03187 100644 --- a/dlls/dinput/tests/keyboard.c +++ b/dlls/dinput/tests/keyboard.c @@ -258,6 +258,7 @@ static void test_get_prop(IDirectInputA *pDI, HWND hwnd) HRESULT hr; IDirectInputDeviceA *pKeyboard = NULL; DIPROPRANGE diprg; + DIPROPDWORD vidpid; hr = IDirectInput_CreateDevice(pDI, &GUID_SysKeyboard, &pKeyboard, NULL); ok(SUCCEEDED(hr), "IDirectInput_CreateDevice() failed: %08x\n", hr); @@ -272,6 +273,15 @@ static void test_get_prop(IDirectInputA *pDI, HWND hwnd) hr = IDirectInputDevice_GetProperty(pKeyboard, DIPROP_RANGE, &diprg.diph); ok(hr == DIERR_UNSUPPORTED, "IDirectInputDevice_GetProperty() did not return DIPROP_RANGE but: %08x\n", hr); + memset(&vidpid, 0, sizeof(vidpid)); + vidpid.diph.dwSize = sizeof(DIPROPDWORD); + vidpid.diph.dwHeaderSize = sizeof(DIPROPHEADER); + vidpid.diph.dwHow = DIPH_DEVICE; + vidpid.diph.dwObj = 0; + + hr = IDirectInputDevice_GetProperty(pKeyboard, DIPROP_VIDPID, &vidpid.diph); + ok(hr == DIERR_UNSUPPORTED, "got %08x\n", hr); + IUnknown_Release(pKeyboard); }