diff -u -N -r source-old/dll/win32/advapi32/misc/hwprofiles.c source/dll/win32/advapi32/misc/hwprofiles.c --- source-old/dll/win32/advapi32/misc/hwprofiles.c Sun Apr 18 13:01:53 2010 +++ source/dll/win32/advapi32/misc/hwprofiles.c Wed May 5 20:29:50 2010 @@ -11,6 +11,7 @@ #include #include +#include WINE_DEFAULT_DEBUG_CHANNEL(advapi); /****************************************************************************** @@ -158,9 +159,18 @@ (LPBYTE)&lpHwProfileInfo->szHwProfileGuid, &dwLength)) { - /* FIXME: Create a new GUID */ - wcscpy(lpHwProfileInfo->szHwProfileGuid, - L"{00000000-0000-0000-0000-000000000000}"); + UUID uuid; + UuidCreate(&uuid); + /* Create a new GUID */ + wsprintfW( + lpHwProfileInfo->szHwProfileGuid, + L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", + uuid.Data1, + uuid.Data2, + uuid.Data3, + uuid.Data4[0], uuid.Data4[1], + uuid.Data4[2], uuid.Data4[3], uuid.Data4[4], uuid.Data4[5], + uuid.Data4[6], uuid.Data4[7]); dwLength = (wcslen(lpHwProfileInfo->szHwProfileGuid) + 1) * sizeof(WCHAR); RegSetValueExW(hProfileKey,