[PATCH] hid: Fill the HIDD_ATTRIBUTES Size member, and add a test for expected size
Rémi Bernon
rbernon at codeweavers.com
Tue Jun 18 04:34:25 CDT 2019
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/hid/hidd.c | 1 +
dlls/hid/tests/device.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/dlls/hid/hidd.c b/dlls/hid/hidd.c
index 16b3a3f0a2b..4bb4deb48b3 100644
--- a/dlls/hid/hidd.c
+++ b/dlls/hid/hidd.c
@@ -69,6 +69,7 @@ BOOLEAN WINAPI HidD_GetAttributes(HANDLE HidDeviceObject, PHIDD_ATTRIBUTES Attr)
if (ret)
{
+ Attr->Size = sizeof(HIDD_ATTRIBUTES);
Attr->VendorID = info.VendorID;
Attr->ProductID = info.ProductID;
Attr->VersionNumber = info.VersionNumber;
diff --git a/dlls/hid/tests/device.c b/dlls/hid/tests/device.c
index 4651ced06dd..bb819cc83f2 100644
--- a/dlls/hid/tests/device.c
+++ b/dlls/hid/tests/device.c
@@ -34,6 +34,7 @@ static void test_device_info(HANDLE device)
{
PHIDP_PREPARSED_DATA ppd;
HIDP_CAPS Caps;
+ HIDD_ATTRIBUTES attributes;
NTSTATUS status;
BOOL rc;
WCHAR device_name[128];
@@ -47,6 +48,10 @@ static void test_device_info(HANDLE device)
trace("Found device %s (%02x, %02x)\n", wine_dbgstr_w(device_name), Caps.UsagePage, Caps.Usage);
rc = HidD_FreePreparsedData(ppd);
ok(rc, "Failed to free preparsed data(0x%x)\n", GetLastError());
+ rc = HidD_GetAttributes(device, &attributes);
+ ok(rc, "Failed to get device attributes (0x%x)\n", GetLastError());
+ ok(attributes.Size == sizeof(attributes), "Unexpected HIDD_ATTRIBUTES size: %d\n", attributes.Size);
+ trace("Device attributes: vid:%04x pid:%04x ver:%04x\n", attributes.VendorID, attributes.ProductID, attributes.VersionNumber);
}
static void run_for_each_device(device_test *test)
--
2.20.1
More information about the wine-devel
mailing list