From d19e55bd2d90fa094c7aa83baf67c5e01f6b30f7 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Fri, 21 Sep 2007 17:08:01 -0700 Subject: [PATCH] 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 58b0896..04447f7 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -336,6 +336,8 @@ static BOOL SETUPDI_AddInterfaceInstance ifaceInfo->referenceString = NULL; if (ret) { + HKEY key; + iface->cInstances++; instance->cbSize = sizeof(SP_DEVICE_INTERFACE_DATA); @@ -346,7 +348,16 @@ static BOOL SETUPDI_AddInterfaceInstance 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; } -- 1.4.1