[SHDOCVW] Sync with Wine 3.0. CORE-14225
[reactos.git] / dll / win32 / shdocvw / shdocvw_main.c
index bbab837..8a4c8c0 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-#include <config.h>
-
-//#include <stdarg.h>
-//#include <stdio.h>
-
-//#include "wine/unicode.h"
-#include <wine/debug.h>
-
 #include "shdocvw.h"
 
-#include <winreg.h>
 #include <shlwapi.h>
 #include <wininet.h>
-//#include "isguids.h"
-
-//#include "initguid.h"
-
-WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
 
 LONG SHDOCVW_refCount = 0;
 
@@ -78,7 +64,7 @@ static HRESULT get_ieframe_object(REFCLSID rclsid, REFIID riid, void **ppv)
  */
 HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
 {
-    TRACE("\n");
+    TRACE("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
 
     if(IsEqualGUID(&CLSID_WebBrowser, rclsid)
        || IsEqualGUID(&CLSID_WebBrowser_V1, rclsid)
@@ -146,12 +132,13 @@ BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
     TRACE("%p 0x%x %p\n", hinst, fdwReason, fImpLoad);
     switch (fdwReason)
     {
-        case DLL_PROCESS_ATTACH:
+    case DLL_PROCESS_ATTACH:
+        DisableThreadLibraryCalls(hinst);
         break;
     case DLL_PROCESS_DETACH:
+        if (fImpLoad) break;
         if (SHDOCVW_hshell32) FreeLibrary(SHDOCVW_hshell32);
-        if(ieframe_instance)
-            FreeLibrary(ieframe_instance);
+        if (ieframe_instance) FreeLibrary(ieframe_instance);
         break;
     }
     return TRUE;
@@ -257,9 +244,9 @@ DWORD WINAPI RunInstallUninstallStubs(void)
  *
  * Called by Emerge Desktop (alternative Windows Shell).
  */
-DWORD WINAPI RunInstallUninstallStubs2(void)
+DWORD WINAPI RunInstallUninstallStubs2(int arg)
 {
-    FIXME("(), stub!\n");
+    FIXME("(%d), stub!\n", arg);
     return 0x0deadbee;
 }
 
@@ -317,12 +304,12 @@ void WINAPI StopWatchFlushFORWARD(void)
 }
 
 /******************************************************************
- *             StopWatchWFORWARD            (SHDOCVW.@)
+ *             StopWatchAFORWARD            (SHDOCVW.@)
  */
-DWORD WINAPI StopWatchWFORWARD(DWORD dwClass, LPCWSTR lpszStr, DWORD dwUnknown,
+DWORD WINAPI StopWatchAFORWARD(DWORD dwClass, LPCSTR lpszStr, DWORD dwUnknown,
                                DWORD dwMode, DWORD dwTimeStamp)
 {
-    static DWORD (WINAPI *p)(DWORD, LPCWSTR, DWORD, DWORD, DWORD);
+    static DWORD (WINAPI *p)(DWORD, LPCSTR, DWORD, DWORD, DWORD);
 
     if (p || (p = fetch_shlwapi_ordinal(243)))
         return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
@@ -330,12 +317,12 @@ DWORD WINAPI StopWatchWFORWARD(DWORD dwClass, LPCWSTR lpszStr, DWORD dwUnknown,
 }
 
 /******************************************************************
- *             StopWatchAFORWARD            (SHDOCVW.@)
+ *             StopWatchWFORWARD            (SHDOCVW.@)
  */
-DWORD WINAPI StopWatchAFORWARD(DWORD dwClass, LPCSTR lpszStr, DWORD dwUnknown,
+DWORD WINAPI StopWatchWFORWARD(DWORD dwClass, LPCWSTR lpszStr, DWORD dwUnknown,
                                DWORD dwMode, DWORD dwTimeStamp)
 {
-    static DWORD (WINAPI *p)(DWORD, LPCSTR, DWORD, DWORD, DWORD);
+    static DWORD (WINAPI *p)(DWORD, LPCWSTR, DWORD, DWORD, DWORD);
 
     if (p || (p = fetch_shlwapi_ordinal(244)))
         return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
@@ -442,7 +429,7 @@ DWORD WINAPI ParseURLFromOutsideSourceA(LPCSTR url, LPSTR out, LPDWORD plen, LPD
     }
 
     len = sizeof(buffer) / sizeof(buffer[0]);
-    res = ParseURLFromOutsideSourceW(urlW, buffer, &len, unknown);
+    ParseURLFromOutsideSourceW(urlW, buffer, &len, unknown);
     HeapFree(GetProcessHeap(), 0, urlW);
 
     needed = WideCharToMultiByte(CP_ACP, 0, buffer, -1, NULL, 0, NULL, NULL);
@@ -533,3 +520,29 @@ BOOL WINAPI ImportPrivacySettings(LPCWSTR filename, BOOL *pGlobalPrefs, BOOL * p
 
     return TRUE;
 }
+
+/******************************************************************
+ * ResetProfileSharing (SHDOCVW.164)
+ */
+HRESULT WINAPI ResetProfileSharing(HWND hwnd)
+{
+    FIXME("(%p) stub\n", hwnd);
+    return E_NOTIMPL;
+}
+
+/******************************************************************
+ * InstallReg_RunDLL (SHDOCVW.@)
+ */
+void WINAPI InstallReg_RunDLL(HWND hwnd, HINSTANCE handle, LPCSTR cmdline, INT show)
+{
+    FIXME("(%p %p %s %x)\n", hwnd, handle, debugstr_a(cmdline), show);
+}
+
+/******************************************************************
+ * DoFileDownload (SHDOCVW.@)
+ */
+BOOL WINAPI DoFileDownload(LPWSTR filename)
+{
+    FIXME("(%s) stub\n", debugstr_w(filename));
+    return FALSE;
+}