| // Windows/COM.cpp |
| |
| #include "StdAfx.h" |
| |
| #include "Windows/COM.h" |
| #include "Common/StringConvert.h" |
| |
| namespace NWindows { |
| namespace NCOM { |
| |
| // CoInitialize (NULL); must be called! |
| |
| UString GUIDToStringW(REFGUID guid) |
| { |
| UString string; |
| const int kStringSize = 48; |
| StringFromGUID2(guid, string.GetBuffer(kStringSize), kStringSize); |
| string.ReleaseBuffer(); |
| return string; |
| } |
| |
| AString GUIDToStringA(REFGUID guid) |
| { |
| return UnicodeStringToMultiByte(GUIDToStringW(guid)); |
| } |
| |
| HRESULT StringToGUIDW(const wchar_t *string, GUID &classID) |
| { |
| return CLSIDFromString((wchar_t *)string, &classID); |
| } |
| |
| HRESULT StringToGUIDA(const char *string, GUID &classID) |
| { |
| return StringToGUIDW(MultiByteToUnicodeString(string), classID); |
| } |
| |
| }} |