mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-06 15:14:59 -06:00
38 lines
731 B
C++
Executable File
38 lines
731 B
C++
Executable File
// 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);
|
|
}
|
|
|
|
}}
|