Zhiyi Zhang : setupapi: Implement SetupDiOpenDeviceInfoA().

Alexandre Julliard julliard at winehq.org
Mon Mar 18 16:20:14 CDT 2019


Module: wine
Branch: master
Commit: 17d58c93f373e636812434711e245f8ac78620af
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=17d58c93f373e636812434711e245f8ac78620af

Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date:   Fri Mar 15 11:41:57 2019 +0800

setupapi: Implement SetupDiOpenDeviceInfoA().

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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)




More information about the wine-cvs mailing list