Commit e1449796 authored by Juan Lang's avatar Juan Lang Committed by Alexandre Julliard

setupapi: Make a helper to convert a GUID to a string.

parent 60fefd72
...@@ -147,6 +147,18 @@ static void SETUPDI_FreeDeviceInfo(struct DeviceInfo *devInfo) ...@@ -147,6 +147,18 @@ static void SETUPDI_FreeDeviceInfo(struct DeviceInfo *devInfo)
HeapFree(GetProcessHeap(), 0, devInfo); HeapFree(GetProcessHeap(), 0, devInfo);
} }
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]);
}
/* Adds a device with GUID guid and identifer devInst to set. Allocates a /* Adds a device with GUID guid and identifer devInst to set. Allocates a
* struct DeviceInfo, and points the returned device info's Reserved member * struct DeviceInfo, and points the returned device info's Reserved member
* to it. * to it.
...@@ -1984,7 +1996,6 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW( ...@@ -1984,7 +1996,6 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW(
PCWSTR MachineName, PCWSTR MachineName,
PVOID Reserved) PVOID Reserved)
{ {
LPWSTR lpGuidString;
WCHAR bracedGuidString[39]; WCHAR bracedGuidString[39];
HKEY hClassesKey; HKEY hClassesKey;
HKEY hClassKey; HKEY hClassKey;
...@@ -2023,16 +2034,7 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW( ...@@ -2023,16 +2034,7 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW(
if (ClassGuid == NULL) if (ClassGuid == NULL)
return hClassesKey; return hClassesKey;
if (UuidToStringW((UUID*)ClassGuid, &lpGuidString) != RPC_S_OK) SETUPDI_GuidToString(ClassGuid, bracedGuidString);
{
RegCloseKey(hClassesKey);
return INVALID_HANDLE_VALUE;
}
bracedGuidString[0] = '{';
memcpy(&bracedGuidString[1], lpGuidString, 36*sizeof(WCHAR));
bracedGuidString[37] = '}';
bracedGuidString[38] = 0;
RpcStringFreeW(&lpGuidString);
if (RegOpenKeyExW(hClassesKey, if (RegOpenKeyExW(hClassesKey,
bracedGuidString, bracedGuidString,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment