Juan Lang : setupapi: Save interface to registry when creating it.

Alexandre Julliard julliard at winehq.org
Mon Sep 24 08:08:04 CDT 2007


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Fri Sep 21 17:08:01 2007 -0700

setupapi: Save interface to registry when creating it.

---

 dlls/setupapi/devinst.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index acaa8ae..a1a060c 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -336,6 +336,8 @@ static BOOL SETUPDI_AddInterfaceInstance(PSP_DEVINFO_DATA DeviceInfoData,
                         ifaceInfo->referenceString = NULL;
                     if (ret)
                     {
+                        HKEY key;
+
                         iface->cInstances++;
                         instance->cbSize =
                             sizeof(SP_DEVICE_INTERFACE_DATA);
@@ -346,7 +348,16 @@ static BOOL SETUPDI_AddInterfaceInstance(PSP_DEVINFO_DATA DeviceInfoData,
                         if (newInterface)
                             memcpy(&iface->guid, InterfaceClassGuid,
                                     sizeof(GUID));
-                        /* FIXME: now create this homeboy in the registry */
+                        key = SetupDiCreateDeviceInterfaceRegKeyW(devInfo->set,
+                                instance, 0, KEY_WRITE, NULL, NULL);
+                        if (key != INVALID_HANDLE_VALUE)
+                        {
+                            RegSetValueExW(key, SymbolicLink, 0, REG_SZ,
+                                    (BYTE *)ifaceInfo->symbolicLink,
+                                    lstrlenW(ifaceInfo->symbolicLink) *
+                                    sizeof(WCHAR));
+                            RegCloseKey(key);
+                        }
                         if (ifaceData)
                             *ifaceData = instance;
                     }




More information about the wine-cvs mailing list