Reactos
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
12BEGIN_OBJECT_MAP(ObjectMap)
13 OBJECT_ENTRY(CLSID_SysTray, CSysTray)
14END_OBJECT_MAP()
15
16HINSTANCE g_hInstance;
17CComModule g_Module;
18
19STDAPI_(BOOL)
20DllMain(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
37STDAPI
38DllRegisterServer(void)
39{
40 return g_Module.DllRegisterServer(FALSE);
41}
42
43STDAPI
44DllUnregisterServer(void)
45{
46 return g_Module.DllUnregisterServer(FALSE);
47}
48
49STDAPI
50DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
51{
52 return g_Module.DllGetClassObject(rclsid, riid, ppv);
53}
54
55STDAPI
56DllCanUnloadNow(void)
57{
58 return g_Module.DllCanUnloadNow();
59}