1 /*
2 * PROJECT: ReactOS system libraries
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: dll/shellext/stobject/stobject.cpp
5 * PURPOSE: COM registration services for STobject.dll
6 * PROGRAMMERS: Robert Naumann
7 * David Quintana <gigaherz@gmail.com>
8 */
9
10 #include "precomp.h"
11
12 BEGIN_OBJECT_MAP(ObjectMap)
13 OBJECT_ENTRY(CLSID_SysTray, CSysTray)
14 END_OBJECT_MAP()
15
16 HINSTANCE g_hInstance;
17 CComModule g_Module;
18
19 STDAPI_(BOOL)
DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID fImpLoad)20 DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
21 {
22 if (fdwReason == DLL_PROCESS_ATTACH)
23 {
24 g_hInstance = hinstDLL;
25 DisableThreadLibraryCalls(g_hInstance);
26
27 g_Module.Init(ObjectMap, g_hInstance, NULL);
28 }
29 else if (fdwReason == DLL_PROCESS_DETACH)
30 {
31 g_hInstance = NULL;
32 g_Module.Term();
33 }
34 return TRUE;
35 }
36
37 STDAPI
DllRegisterServer(void)38 DllRegisterServer(void)
39 {
40 return g_Module.DllRegisterServer(FALSE);
41 }
42
43 STDAPI
DllUnregisterServer(void)44 DllUnregisterServer(void)
45 {
46 return g_Module.DllUnregisterServer(FALSE);
47 }
48
49 STDAPI
DllGetClassObject(REFCLSID rclsid,REFIID riid,LPVOID * ppv)50 DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
51 {
52 return g_Module.DllGetClassObject(rclsid, riid, ppv);
53 }
54
55 STDAPI
DllCanUnloadNow(void)56 DllCanUnloadNow(void)
57 {
58 return g_Module.DllCanUnloadNow();
59 }
60