Module: wine Branch: master Commit: 17d58c93f373e636812434711e245f8ac78620af URL: https://source.winehq.org/git/wine.git/?a=commit;h=17d58c93f373e636812434711...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Mar 15 11:41:57 2019 +0800
setupapi: Implement SetupDiOpenDeviceInfoA().
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/setupapi/devinst.c | 20 ++++++++++++++++++++ dlls/setupapi/stubs.c | 11 ----------- 2 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index 81b6e35..cdad889 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -3317,6 +3317,26 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW( }
/*********************************************************************** + * SetupDiOpenDeviceInfoA (SETUPAPI.@) + */ +BOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO devinfo, PCSTR instance_id, HWND hwnd_parent, DWORD flags, + PSP_DEVINFO_DATA device_data) +{ + WCHAR instance_idW[MAX_DEVICE_ID_LEN]; + + TRACE("%p %s %p 0x%08x %p\n", devinfo, debugstr_a(instance_id), hwnd_parent, flags, device_data); + + if (!instance_id || strlen(instance_id) >= MAX_DEVICE_ID_LEN) + { + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; + } + + MultiByteToWideChar(CP_ACP, 0, instance_id, -1, instance_idW, ARRAY_SIZE(instance_idW)); + return SetupDiOpenDeviceInfoW(devinfo, instance_idW, hwnd_parent, flags, device_data); +} + +/*********************************************************************** * SetupDiOpenDeviceInfoW (SETUPAPI.@) */ BOOL WINAPI SetupDiOpenDeviceInfoW(HDEVINFO devinfo, PCWSTR instance_id, HWND hwnd_parent, DWORD flags, diff --git a/dlls/setupapi/stubs.c b/dlls/setupapi/stubs.c index b64c1a1..ede878f 100644 --- a/dlls/setupapi/stubs.c +++ b/dlls/setupapi/stubs.c @@ -312,17 +312,6 @@ BOOL WINAPI SetupDiGetClassImageIndex(PSP_CLASSIMAGELIST_DATA ClassImageListData }
/*********************************************************************** - * SetupDiOpenDeviceInfoA (SETUPAPI.@) - */ -BOOL WINAPI SetupDiOpenDeviceInfoA(HDEVINFO DeviceInfoSet, PCSTR DeviceInstanceId, - HWND hwndParent, DWORD OpenFlags, PSP_DEVINFO_DATA DeviceInfoData) -{ - FIXME("%p %s %p 0x%08x %p: stub\n", DeviceInfoSet, debugstr_a(DeviceInstanceId), - hwndParent, OpenFlags, DeviceInfoData); - return FALSE; -} - -/*********************************************************************** * CM_Locate_DevNodeA (SETUPAPI.@) */ CONFIGRET WINAPI CM_Locate_DevNodeA(PDEVINST pdnDevInst, DEVINSTID_A pDeviceID, ULONG ulFlags)