2 * PROJECT: ReactOS system libraries
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: dll\win32\stobject\stobject.cpp
5 * PURPOSE: COM registration services for STobject.dll
6 * PROGRAMMERS: Robert Naumann
7 David Quintana <gigaherz@gmail.com>
15 WINE_DEFAULT_DEBUG_CHANNEL(stobject
);
17 BEGIN_OBJECT_MAP(ObjectMap
)
18 OBJECT_ENTRY(CLSID_SysTray
, CSysTray
)
21 HINSTANCE g_hInstance
;
24 void *operator new (size_t, void *buf
)
30 DllMain(HINSTANCE hinstDLL
, DWORD fdwReason
, LPVOID fImpLoad
)
32 if (fdwReason
== DLL_PROCESS_ATTACH
)
34 g_hInstance
= hinstDLL
;
35 DisableThreadLibraryCalls(g_hInstance
);
37 /* HACK - the global constructors don't run, so I placement new them here */
38 new (&g_Module
) CComModule
;
39 new (&_AtlWinModule
) CAtlWinModule
;
40 new (&_AtlBaseModule
) CAtlBaseModule
;
41 new (&_AtlComModule
) CAtlComModule
;
43 g_Module
.Init(ObjectMap
, g_hInstance
, NULL
);
45 else if (fdwReason
== DLL_PROCESS_DETACH
)
54 DllRegisterServer(void)
56 return g_Module
.DllRegisterServer(FALSE
);
60 DllUnregisterServer(void)
62 return g_Module
.DllUnregisterServer(FALSE
);
66 DllGetClassObject(REFCLSID rclsid
, REFIID riid
, LPVOID
*ppv
)
68 return g_Module
.DllGetClassObject(rclsid
, riid
, ppv
);
74 return g_Module
.DllCanUnloadNow();