chore: initial commit (extracted from Launchers monorepo)

Plugin: ns7zip v2.0.0
Architectures: x86-ansi, x86-unicode, amd64-unicode
License: LGPL-2.1-or-later
This commit is contained in:
Simone
2026-04-29 14:07:51 +02:00
commit d074cc7c07
3848 changed files with 1076682 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
// Windows/COM.h
#ifndef ZIP7_INC_WINDOWS_COM_H
#define ZIP7_INC_WINDOWS_COM_H
// #include "../Common/MyString.h"
namespace NWindows {
namespace NCOM {
#ifdef _WIN32
class CComInitializer
{
public:
CComInitializer()
{
#ifdef UNDER_CE
CoInitializeEx(NULL, COINIT_MULTITHREADED);
#else
// it's single thread. Do we need multithread?
CoInitialize(NULL);
#endif
}
~CComInitializer() { CoUninitialize(); }
};
/*
class CStgMedium2
{
STGMEDIUM _object;
bool _mustBeReleased;
public:
CStgMedium2(): _mustBeReleased(false) {}
~CStgMedium2() { Free(); }
void Free()
{
if (_mustBeReleased)
ReleaseStgMedium(&_object);
_mustBeReleased = false;
}
const STGMEDIUM* operator->() const { return &_object;}
STGMEDIUM* operator->() { return &_object;}
STGMEDIUM* operator&() { return &_object; }
};
*/
struct CStgMedium: public STGMEDIUM
{
CStgMedium()
{
tymed = TYMED_NULL; // 0
hGlobal = NULL;
pUnkForRelease = NULL;
}
~CStgMedium()
{
ReleaseStgMedium(this);
}
};
#endif
/*
//////////////////////////////////
// GUID <--> String Conversions
UString GUIDToStringW(REFGUID guid);
AString GUIDToStringA(REFGUID guid);
#ifdef UNICODE
#define GUIDToString GUIDToStringW
#else
#define GUIDToString GUIDToStringA
#endif
HRESULT StringToGUIDW(const wchar_t *string, GUID &classID);
HRESULT StringToGUIDA(const char *string, GUID &classID);
#ifdef UNICODE
#define StringToGUID StringToGUIDW
#else
#define StringToGUID StringToGUIDA
#endif
*/
}}
#endif