2 * PROJECT: ReactOS shell extensions
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: dll/shellext/ntobjshex/ntobjshex.cpp
5 * PURPOSE: NT Object Namespace shell extension
6 * PROGRAMMERS: David Quintana <gigaherz@gmail.com>
13 WINE_DEFAULT_DEBUG_CHANNEL(ntobjshex
);
15 BEGIN_OBJECT_MAP(ObjectMap
)
16 OBJECT_ENTRY(CLSID_NtObjectFolder
, CNtObjectFolder
)
17 OBJECT_ENTRY(CLSID_RegistryFolder
, CRegistryFolder
)
20 HINSTANCE g_hInstance
;
23 void *operator new (size_t, void *buf
)
29 DllMain(HINSTANCE hinstDLL
, DWORD fdwReason
, LPVOID fImpLoad
)
31 if (fdwReason
== DLL_PROCESS_ATTACH
)
33 g_hInstance
= hinstDLL
;
34 DisableThreadLibraryCalls(g_hInstance
);
36 g_Module
.Init(ObjectMap
, g_hInstance
, NULL
);
38 else if (fdwReason
== DLL_PROCESS_DETACH
)
47 DllRegisterServer(void)
49 return g_Module
.DllRegisterServer(FALSE
);
53 DllUnregisterServer(void)
55 return g_Module
.DllUnregisterServer(FALSE
);
59 DllGetClassObject(REFCLSID rclsid
, REFIID riid
, LPVOID
*ppv
)
61 return g_Module
.DllGetClassObject(rclsid
, riid
, ppv
);
67 return g_Module
.DllCanUnloadNow();