From 5ae3910e93390d73105abc1171ab084a19ac02be Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Sat, 6 Apr 2019 22:20:17 -0500 Subject: [PATCH] hid: Implement HidD_GetIndexedString(). Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46711 Signed-off-by: Zebediah Figura Signed-off-by: Aric Stewart Signed-off-by: Alexandre Julliard --- dlls/hid/hid.spec | 2 +- dlls/hid/hidd.c | 6 ++++++ include/ddk/hidsdi.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/hid/hid.spec b/dlls/hid/hid.spec index e4d42023149..5bf391378bf 100644 --- a/dlls/hid/hid.spec +++ b/dlls/hid/hid.spec @@ -4,7 +4,7 @@ @ stub HidD_GetConfiguration @ stdcall HidD_GetFeature(long ptr long) @ stdcall HidD_GetHidGuid(ptr) -@ stub HidD_GetIndexedString +@ stdcall HidD_GetIndexedString(ptr long ptr long) @ stdcall HidD_GetInputReport(long ptr long) @ stdcall HidD_GetManufacturerString(long ptr long) @ stub HidD_GetMsGenreDescriptor diff --git a/dlls/hid/hidd.c b/dlls/hid/hidd.c index ca14c4f5718..e313ccb7132 100644 --- a/dlls/hid/hidd.c +++ b/dlls/hid/hidd.c @@ -157,3 +157,9 @@ BOOLEAN WINAPI HidD_SetOutputReport(HANDLE HidDeviceObject, void *ReportBuffer, TRACE("(%p %p %u)\n", HidDeviceObject, ReportBuffer, ReportBufferLength); return sync_ioctl(HidDeviceObject, IOCTL_HID_SET_OUTPUT_REPORT, ReportBuffer, ReportBufferLength, NULL, 0); } + +BOOLEAN WINAPI HidD_GetIndexedString(HANDLE file, ULONG index, void *buffer, ULONG length) +{ + TRACE("file %p, index %u, buffer %p, length %u.\n", file, index, buffer, length); + return sync_ioctl(file, IOCTL_HID_GET_INDEXED_STRING, &index, sizeof(index), buffer, length); +} diff --git a/include/ddk/hidsdi.h b/include/ddk/hidsdi.h index 71e50a90846..e57a968d5ab 100644 --- a/include/ddk/hidsdi.h +++ b/include/ddk/hidsdi.h @@ -36,6 +36,7 @@ typedef struct _HIDD_ATTRIBUTES { BOOLEAN WINAPI HidD_GetFeature(HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength); void WINAPI HidD_GetHidGuid(LPGUID guid); +BOOLEAN WINAPI HidD_GetIndexedString(HANDLE file, ULONG index, void *buffer, ULONG length); BOOLEAN WINAPI HidD_GetInputReport(HANDLE HidDeviceObject, PVOID ReportBuffer, ULONG ReportBufferLength); BOOLEAN WINAPI HidD_GetManufacturerString(HANDLE HidDeviceObject, PVOID Buffer, ULONG BufferLength); BOOLEAN WINAPI HidD_GetNumInputBuffers(HANDLE HidDeviceObject, ULONG *NumberBuffers);