xref: /aosp_15_r20/external/lzma/CPP/7zip/Compress/DllExportsCompress.cpp (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1 // DllExportsCompress.cpp
2 
3 #include "StdAfx.h"
4 
5 #include "../../Common/MyInitGuid.h"
6 
7 #include "../ICoder.h"
8 
9 #include "../Common/RegisterCodec.h"
10 
11 static const unsigned kNumCodecsMax = 48;
12 unsigned g_NumCodecs = 0;
13 const CCodecInfo *g_Codecs[kNumCodecsMax];
RegisterCodec(const CCodecInfo * codecInfo)14 void RegisterCodec(const CCodecInfo *codecInfo) throw()
15 {
16   if (g_NumCodecs < kNumCodecsMax)
17     g_Codecs[g_NumCodecs++] = codecInfo;
18 }
19 
20 static const unsigned kNumHashersMax = 16;
21 unsigned g_NumHashers = 0;
22 const CHasherInfo *g_Hashers[kNumHashersMax];
RegisterHasher(const CHasherInfo * hashInfo)23 void RegisterHasher(const CHasherInfo *hashInfo) throw()
24 {
25   if (g_NumHashers < kNumHashersMax)
26     g_Hashers[g_NumHashers++] = hashInfo;
27 }
28 
29 #ifdef _WIN32
30 
31 extern "C"
32 BOOL WINAPI DllMain(
33   #ifdef UNDER_CE
34   HANDLE
35   #else
36   HINSTANCE
37   #endif
38   , DWORD /* dwReason */, LPVOID /*lpReserved*/);
39 
40 extern "C"
DllMain(HANDLE,DWORD,LPVOID)41 BOOL WINAPI DllMain(
42   #ifdef UNDER_CE
43   HANDLE
44   #else
45   HINSTANCE
46   #endif
47   , DWORD /* dwReason */, LPVOID /*lpReserved*/)
48 {
49   return TRUE;
50 }
51 #endif
52 
53 STDAPI CreateCoder(const GUID *clsid, const GUID *iid, void **outObject);
54 
55 STDAPI CreateObject(const GUID *clsid, const GUID *iid, void **outObject);
CreateObject(const GUID * clsid,const GUID * iid,void ** outObject)56 STDAPI CreateObject(const GUID *clsid, const GUID *iid, void **outObject)
57 {
58   return CreateCoder(clsid, iid, outObject);
59 }
60