2 * SHDOCVW - Internet Explorer Web Control
4 * Copyright 2001 John R. Sheets (for CodeWeavers)
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #define COM_NO_WINDOWS_H
32 #include "wine/debug.h"
34 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
36 HINSTANCE shdocvw_hinstance = 0;
37 HMODULE SHDOCVW_hshell32 = 0;
39 /*************************************************************************
42 BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
44 TRACE("%p 0x%lx %p\n", hinst, fdwReason, fImpLoad);
47 case DLL_PROCESS_ATTACH:
48 shdocvw_hinstance = hinst;
50 case DLL_PROCESS_DETACH:
51 if (SHDOCVW_hshell32) FreeLibrary(SHDOCVW_hshell32);
57 /*************************************************************************
58 * DllCanUnloadNow (SHDOCVW.@)
60 HRESULT WINAPI SHDOCVW_DllCanUnloadNow(void)
62 FIXME("(void): stub\n");
67 /*************************************************************************
68 * DllGetClassObject (SHDOCVW.@)
70 HRESULT WINAPI SHDOCVW_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
74 if (IsEqualGUID(&IID_IClassFactory, riid))
76 /* Pass back our shdocvw class factory */
77 *ppv = (LPVOID)&SHDOCVW_ClassFactory;
78 IClassFactory_AddRef((IClassFactory*)&SHDOCVW_ClassFactory);
83 return CLASS_E_CLASSNOTAVAILABLE;
86 /***********************************************************************
87 * DllGetVersion (SHDOCVW.@)
89 HRESULT WINAPI SHDOCVW_DllGetVersion (DLLVERSIONINFO *pdvi)
91 FIXME("(void): stub\n");
95 /*************************************************************************
96 * DllInstall (SHDOCVW.@)
98 HRESULT WINAPI SHDOCVW_DllInstall(BOOL bInstall, LPCWSTR cmdline)
100 FIXME("(%s, %s): stub!\n", bInstall ? "TRUE":"FALSE", debugstr_w(cmdline));
105 /*************************************************************************
106 * SHDOCVW_LoadShell32
108 * makes sure the handle to shell32 is valid
110 BOOL SHDOCVW_LoadShell32(void)
112 if (SHDOCVW_hshell32)
114 return ((SHDOCVW_hshell32 = LoadLibraryA("shell32.dll")) != NULL);
117 /***********************************************************************
120 * Called by Win98 explorer.exe main binary, definitely has 0
123 DWORD WINAPI WinList_Init(void)
125 FIXME("(), stub!\n");
129 /***********************************************************************
132 * Called by Win98 explorer.exe main binary, definitely has only one
135 static BOOL (WINAPI *pShellDDEInit)(BOOL start) = NULL;
137 BOOL WINAPI ShellDDEInit(BOOL start)
139 TRACE("(%d)\n", start);
143 if (!SHDOCVW_LoadShell32())
145 pShellDDEInit = GetProcAddress(SHDOCVW_hshell32, (LPCSTR)188);
149 return pShellDDEInit(start);
154 /***********************************************************************
157 * Called by Win98 explorer.exe main binary, definitely has 0
160 DWORD WINAPI RunInstallUninstallStubs(void)
162 FIXME("(), stub!\n");