Juan Lang : setupapi: Make a helper to convert a GUID to a string.
Alexandre Julliard
julliard at winehq.org
Fri Sep 21 07:23:04 CDT 2007
Module: wine
Branch: master
Commit: e1449796973d67a204e72f6b43124c9f5f2609f5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e1449796973d67a204e72f6b43124c9f5f2609f5
Author: Juan Lang <juan.lang at gmail.com>
Date: Thu Sep 20 09:11:53 2007 -0700
setupapi: Make a helper to convert a GUID to a string.
---
dlls/setupapi/devinst.c | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c
index d92754b..3a4c130 100644
--- a/dlls/setupapi/devinst.c
+++ b/dlls/setupapi/devinst.c
@@ -147,6 +147,18 @@ static void SETUPDI_FreeDeviceInfo(struct DeviceInfo *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
* struct DeviceInfo, and points the returned device info's Reserved member
* to it.
@@ -1984,7 +1996,6 @@ HKEY WINAPI SetupDiOpenClassRegKeyExW(
PCWSTR MachineName,
PVOID Reserved)
{
- LPWSTR lpGuidString;
WCHAR bracedGuidString[39];
HKEY hClassesKey;
HKEY hClassKey;
@@ -2023,16 +2034,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,
More information about the wine-cvs
mailing list