ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

browseui.cpp
Go to the documentation of this file.
00001 /*
00002  * ReactOS Explorer
00003  *
00004  * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019  */
00020 
00021 #include "precomp.h"
00022 
00023 WINE_DEFAULT_DEBUG_CHANNEL(browseui);
00024 
00025 class CBrowseUIModule : public CComModule
00026 {
00027 public:
00028 };
00029 
00030 
00031 BEGIN_OBJECT_MAP(ObjectMap)
00032 OBJECT_ENTRY(CLSID_ACLMulti, CACLMulti)
00033 OBJECT_ENTRY(CLSID_SH_AddressBand, CAddressBand)
00034 OBJECT_ENTRY(CLSID_AddressEditBox, CAddressEditBox)
00035 OBJECT_ENTRY(CLSID_BandProxy, CBandProxy)
00036 OBJECT_ENTRY(CLSID_RebarBandSite, CBandSite)
00037 OBJECT_ENTRY(CLSID_BandSiteMenu, CBandSiteMenu)
00038 OBJECT_ENTRY(CLSID_BrandBand, CBrandBand)
00039 OBJECT_ENTRY(CLSID_InternetToolbar, CInternetToolbar)
00040 END_OBJECT_MAP()
00041 
00042 CBrowseUIModule                             gModule;
00043 CAtlWinModule                               gWinModule;
00044 
00045 void *operator new (size_t, void *buf)
00046 {
00047     return buf;
00048 }
00049 
00050 /*************************************************************************
00051  * BROWSEUI DllMain
00052  */
00053 STDAPI_(BOOL) DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID fImpLoad)
00054 {
00055     TRACE("%p 0x%x %p\n", hInstance, dwReason, fImpLoad);
00056     
00057     /* HACK - the global constructors don't run, so I placement new them here */
00058     new (&gModule) CBrowseUIModule;
00059     new (&gWinModule) CAtlWinModule;
00060     new (&_AtlBaseModule) CAtlBaseModule;
00061     new (&_AtlComModule) CAtlComModule;
00062 
00063     if (dwReason == DLL_PROCESS_ATTACH)
00064     {
00065         gModule.Init(ObjectMap, hInstance, NULL);
00066         DisableThreadLibraryCalls (hInstance);
00067     }
00068     else if (dwReason == DLL_PROCESS_DETACH)
00069     {
00070         gModule.Term();
00071     }
00072     return TRUE;
00073 }
00074 
00075 /***********************************************************************
00076  *              DllCanUnloadNow (BROWSEUI.@)
00077  */
00078 STDAPI DllCanUnloadNow()
00079 {
00080     return gModule.DllCanUnloadNow();
00081 }
00082 
00083 /***********************************************************************
00084  *              DllGetClassObject (BROWSEUI.@)
00085  */
00086 STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
00087 {
00088     return gModule.DllGetClassObject(rclsid, riid, ppv);
00089 }
00090 
00091 /***********************************************************************
00092  *              DllRegisterServer (BROWSEUI.@)
00093  */
00094 STDAPI DllRegisterServer()
00095 {
00096     return gModule.DllRegisterServer(FALSE);
00097 }
00098 
00099 /***********************************************************************
00100  *              DllUnregisterServer (BROWSEUI.@)
00101  */
00102 STDAPI DllUnregisterServer()
00103 {
00104     return gModule.DllUnregisterServer(FALSE);
00105 }
00106 
00107 /***********************************************************************
00108  *              DllGetVersion (BROWSEUI.@)
00109  */
00110 HRESULT WINAPI DllGetVersion(DLLVERSIONINFO *info)
00111 {
00112     if (info->cbSize != sizeof(DLLVERSIONINFO)) FIXME("support DLLVERSIONINFO2\n");
00113 
00114     /* this is what IE6 on Windows 98 reports */
00115     info->dwMajorVersion = 6;
00116     info->dwMinorVersion = 0;
00117     info->dwBuildNumber = 2600;
00118     info->dwPlatformID = DLLVER_PLATFORM_WINDOWS;
00119 
00120     return NOERROR;
00121 }

Generated on Thu May 24 2012 04:23:14 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.