Juan Lang : setupapi: Implement SetupDiCreateDevRegKeyA on top of SetupDiCreateDevRegKeyW.

Alexandre Julliard julliard at winehq.org
Fri Oct 12 05:23:02 CDT 2007


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Thu Oct 11 13:24:19 2007 -0700

setupapi: Implement SetupDiCreateDevRegKeyA on top of SetupDiCreateDevRegKeyW.

---

 dlls/setupapi/devinst.c |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index 7f9826c..1f3d3b9 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -1159,9 +1159,29 @@ HKEY WINAPI SetupDiCreateDevRegKeyA(
         HINF InfHandle,
         PCSTR InfSectionName)
 {
-    FIXME("%p %p %d %d %d %p %s\n", DeviceInfoSet, DeviceInfoData, Scope,
+    PWSTR InfSectionNameW = NULL;
+    HKEY key;
+
+    TRACE("%p %p %d %d %d %p %s\n", DeviceInfoSet, DeviceInfoData, Scope,
             HwProfile, KeyType, InfHandle, debugstr_a(InfSectionName));
-    return INVALID_HANDLE_VALUE;
+
+    if (InfHandle)
+    {
+        if (!InfSectionName)
+        {
+            SetLastError(ERROR_INVALID_PARAMETER);
+            return INVALID_HANDLE_VALUE;
+        }
+        else
+        {
+            InfSectionNameW = MultiByteToUnicode(InfSectionName, CP_ACP);
+            if (InfSectionNameW == NULL) return INVALID_HANDLE_VALUE;
+        }
+    }
+    key = SetupDiCreateDevRegKeyW(DeviceInfoSet, DeviceInfoData, Scope,
+            HwProfile, KeyType, InfHandle, InfSectionNameW);
+    MyFree(InfSectionNameW);
+    return key;
 }
 
 /***********************************************************************




More information about the wine-cvs mailing list