Vitaliy Margolen : dinput: Keyboard does not support DIPROP_RANGE property.

Alexandre Julliard julliard at winehq.org
Tue May 31 13:08:17 CDT 2011


Module: wine
Branch: master
Commit: eb6cec16566787816513ed90953d830bf297b7d3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=eb6cec16566787816513ed90953d830bf297b7d3

Author: Vitaliy Margolen <wine-patches at kievinfo.com>
Date:   Mon May 30 16:31:17 2011 -0600

dinput: Keyboard does not support DIPROP_RANGE property.

---

 dlls/dinput/keyboard.c       |    2 ++
 dlls/dinput/tests/keyboard.c |   23 +++++++++++++++++++++++
 2 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/dlls/dinput/keyboard.c b/dlls/dinput/keyboard.c
index 6215f62..c697cfd 100644
--- a/dlls/dinput/keyboard.c
+++ b/dlls/dinput/keyboard.c
@@ -509,6 +509,8 @@ static HRESULT WINAPI SysKeyboardWImpl_GetProperty(LPDIRECTINPUTDEVICE8W iface,
                 memcpy(ps->wsz, didoi.tszName, sizeof(ps->wsz));
             return hr;
         }
+        case (DWORD_PTR) DIPROP_RANGE:
+            return DIERR_UNSUPPORTED;
         default:
             return IDirectInputDevice2AImpl_GetProperty( IDirectInputDevice8A_from_impl(This), rguid, pdiph );
     }
diff --git a/dlls/dinput/tests/keyboard.c b/dlls/dinput/tests/keyboard.c
index 2d4a12f..ecfd6c2 100644
--- a/dlls/dinput/tests/keyboard.c
+++ b/dlls/dinput/tests/keyboard.c
@@ -130,6 +130,28 @@ static void test_set_coop(LPDIRECTINPUT pDI, HWND hwnd)
     if (pKeyboard) IUnknown_Release(pKeyboard);
 }
 
+static void test_get_prop(LPDIRECTINPUT pDI, HWND hwnd)
+{
+    HRESULT hr;
+    LPDIRECTINPUTDEVICE pKeyboard = NULL;
+    DIPROPRANGE diprg;
+
+    hr = IDirectInput_CreateDevice(pDI, &GUID_SysKeyboard, &pKeyboard, NULL);
+    ok(SUCCEEDED(hr), "IDirectInput_CreateDevice() failed: %08x\n", hr);
+    if (FAILED(hr)) return;
+
+    memset(&diprg, 0, sizeof(diprg));
+    diprg.diph.dwSize       = sizeof(DIPROPRANGE);
+    diprg.diph.dwHeaderSize = sizeof(DIPROPHEADER);
+    diprg.diph.dwHow        = DIPH_DEVICE;
+    diprg.diph.dwObj        = 0;
+
+    hr = IDirectInputDevice_GetProperty(pKeyboard, DIPROP_RANGE, &diprg.diph);
+    ok(hr == DIERR_UNSUPPORTED, "IDirectInputDevice_GetProperty() did not return DIPROP_RANGE but: %08x\n", hr);
+
+    if (pKeyboard) IUnknown_Release(pKeyboard);
+}
+
 static void keyboard_tests(DWORD version)
 {
     HRESULT hr;
@@ -155,6 +177,7 @@ static void keyboard_tests(DWORD version)
     {
         acquire_tests(pDI, hwnd);
         test_set_coop(pDI, hwnd);
+        test_get_prop(pDI, hwnd);
     }
 
     DestroyWindow(hwnd);




More information about the wine-cvs mailing list