* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include <stdarg.h>
+#include <stdio.h>
+
+#include "wine/debug.h"
+
#include "shdocvw.h"
-#include <shlwapi.h>
-#include <wininet.h>
+#include "winreg.h"
+#ifdef __REACTOS__
+#include "winnls.h"
+#endif
+#include "shlwapi.h"
+#include "wininet.h"
+#include "isguids.h"
+
+#include "initguid.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
LONG SHDOCVW_refCount = 0;
*/
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)
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;
*
* 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;
}
}
/******************************************************************
- * 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);
}
/******************************************************************
- * 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);
HRESULT hr;
DWORD needed;
DWORD len;
- DWORD res = 0;
-
+ DWORD res;
TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_w(url), out, plen, unknown,
plen ? *plen : 0, unknown ? *unknown : 0);
if (!PathIsURLW(ptr)) {
- len = sizeof(buffer_in) / sizeof(buffer_in[0]);
+ len = ARRAY_SIZE(buffer_in);
buffer_in[0] = 0;
hr = UrlApplySchemeW(ptr, buffer_in, &len, URL_APPLY_GUESSSCHEME | URL_APPLY_DEFAULT);
TRACE("got 0x%x with %s\n", hr, debugstr_w(buffer_in));
}
}
- len = sizeof(buffer_out) / sizeof(buffer_out[0]);
+ len = ARRAY_SIZE(buffer_out);
buffer_out[0] = '\0';
hr = UrlCanonicalizeW(ptr, buffer_out, &len, URL_ESCAPE_SPACES_ONLY);
needed = lstrlenW(buffer_out)+1;
TRACE("got 0x%x with %s (need %d)\n", hr, debugstr_w(buffer_out), needed);
+ res = 0;
if (*plen >= needed) {
if (out != NULL) {
lstrcpyW(out, buffer_out);
- res++;
+ /* On success, 1 is returned for unicode version */
+ res = 1;
}
needed--;
}
MultiByteToWideChar(CP_ACP, 0, url, -1, urlW, len);
}
- len = sizeof(buffer) / sizeof(buffer[0]);
+ len = ARRAY_SIZE(buffer);
ParseURLFromOutsideSourceW(urlW, buffer, &len, unknown);
HeapFree(GetProcessHeap(), 0, urlW);
if (*plen >= needed) {
if (out != NULL) {
WideCharToMultiByte(CP_ACP, 0, buffer, -1, out, *plen, NULL, NULL);
+ /* On success, string size including terminating 0 is returned for ansi version */
res = needed;
}
needed--;
{
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;
+}
+
+/******************************************************************
+ * DoOrganizeFavDlgW (SHDOCVW.@)
+ */
+BOOL WINAPI DoOrganizeFavDlgW(HWND hwnd, LPCWSTR initDir)
+{
+ FIXME("(%p %s) stub\n", hwnd, debugstr_w(initDir));
+ return FALSE;
+}
+
+/******************************************************************
+ * DoOrganizeFavDlg (SHDOCVW.@)
+ */
+BOOL WINAPI DoOrganizeFavDlg(HWND hwnd, LPCSTR initDir)
+{
+ LPWSTR initDirW = NULL;
+ BOOL res;
+
+ TRACE("(%p %s)\n", hwnd, debugstr_a(initDir));
+
+ if (initDir) {
+ DWORD len = MultiByteToWideChar(CP_ACP, 0, initDir, -1, NULL, 0);
+ initDirW = heap_alloc(len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, initDir, -1, initDirW, len);
+ }
+ res = DoOrganizeFavDlgW(hwnd, initDirW);
+ heap_free(initDirW);
+ return res;
+}