From 27ec29e6b4dc8f62ac6c32aa275e65cf80257517 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Wed, 19 Sep 2007 17:54:44 -0700 Subject: [PATCH] Make a helper to convert a GUID to a string --- dlls/setupapi/devinst.c | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c index 9a7f147..f04a29e 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c @@ -186,6 +186,17 @@ static BOOL SETUPDI_AddDeviceToSet(struc } return ret; } +static void SETUPDI_GuidToString(const GUID *guid, LPWSTR guidStr) +{ + static const WCHAR fmt[] = {'{','%','0','8','X','-','%','0','4','X','-', + '%','0','4','X','-','%','0','2','X','%','0','2','X','-','%','0','2', + 'X','%','0','2','X','%','0','2','X','%','0','2','X','%','0','2','X','%', + '0','2','X','}',0}; + + sprintfW(guidStr, fmt, guid->Data1, guid->Data2, guid->Data3, + guid->Data4[0], guid->Data4[1], guid->Data4[2], guid->Data4[3], + guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7]); +} /*********************************************************************** * SetupDiBuildClassInfoList (SETUPAPI.@) @@ -1984,7 +1995,6 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW( PCWSTR MachineName, PVOID Reserved) { - LPWSTR lpGuidString; WCHAR bracedGuidString[39]; HKEY hClassesKey; HKEY hClassKey; @@ -2023,16 +2033,7 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW( if (ClassGuid == NULL) return hClassesKey; - if (UuidToStringW((UUID*)ClassGuid, &lpGuidString) != RPC_S_OK) - { - RegCloseKey(hClassesKey); - return INVALID_HANDLE_VALUE; - } - bracedGuidString[0] = '{'; - memcpy(&bracedGuidString[1], lpGuidString, 36*sizeof(WCHAR)); - bracedGuidString[37] = '}'; - bracedGuidString[38] = 0; - RpcStringFreeW(&lpGuidString); + SETUPDI_GuidToString(ClassGuid, bracedGuidString); if (RegOpenKeyExW(hClassesKey, bracedGuidString, -- 1.4.1