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