ReactOS 0.4.15-dev-8434-g155a7c7
shdocvw_main.c
Go to the documentation of this file.
1/*
2 * SHDOCVW - Internet Explorer Web Control
3 *
4 * Copyright 2001 John R. Sheets (for CodeWeavers)
5 * Copyright 2004 Mike McCormack (for CodeWeavers)
6 * Copyright 2008 Detlef Riekenberg
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 */
22
23#include <stdarg.h>
24#include <stdio.h>
25
26#include "wine/debug.h"
27
28#include "shdocvw.h"
29
30#include "winreg.h"
31#ifdef __REACTOS__
32#include "winnls.h"
33#include <shlguid_undoc.h>
34#include <rpcproxy.h> /* for __wine_register_resources / __wine_unregister_resources */
35#include "CFavBand.h"
36#endif
37#include "shlwapi.h"
38#include "wininet.h"
39#include "isguids.h"
40
41#include "initguid.h"
42
44
46
49#ifdef __REACTOS__
51#endif
52
54{
55 static const WCHAR ieframe_dllW[] = {'i','e','f','r','a','m','e','.','d','l','l',0};
56
58 ieframe_instance = LoadLibraryW(ieframe_dllW);
59
60 return ieframe_instance;
61}
62
64{
66
67 static HRESULT (WINAPI *ieframe_DllGetClassObject)(REFCLSID,REFIID,void**);
68
69 if(!ieframe_DllGetClassObject) {
73
74 ieframe_DllGetClassObject = (void*)GetProcAddress(ieframe_instance, "DllGetClassObject");
75 if(!ieframe_DllGetClassObject)
77 }
78
79 return ieframe_DllGetClassObject(rclsid, riid, ppv);
80}
81
82/*************************************************************************
83 * DllGetClassObject (SHDOCVW.@)
84 */
86{
87 TRACE("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
88
89 if(IsEqualGUID(&CLSID_WebBrowser, rclsid)
90 || IsEqualGUID(&CLSID_WebBrowser_V1, rclsid)
91 || IsEqualGUID(&CLSID_InternetShortcut, rclsid)
92 || IsEqualGUID(&CLSID_CUrlHistory, rclsid)
93 || IsEqualGUID(&CLSID_TaskbarList, rclsid))
94 return get_ieframe_object(rclsid, riid, ppv);
95
96#ifdef __REACTOS__
97 {
100 return hr;
101 }
103 {
104 if (IsEqualGUID(rclsid, &CLSID_MruLongList) ||
105 IsEqualGUID(rclsid, &CLSID_MruPidlList))
106 {
108 }
109 }
110 else if (IsEqualGUID(riid, &IID_IMruDataList))
111 {
112 return CMruLongList_CreateInstance(0, ppv, 0);
113 }
114 else if (IsEqualGUID(riid, &IID_IMruPidlList))
115 {
116 return CMruPidlList_CreateInstance(0, ppv, 0);
117 }
118#endif
119
120 /* As a last resort, figure if the CLSID belongs to a 'Shell Instance Object' */
122}
123
124/***********************************************************************
125 * DllRegisterServer (shdocvw.@)
126 */
128{
129 TRACE("\n");
130#ifdef __REACTOS__
133#else
134 return S_OK;
135#endif
136}
137
138/***********************************************************************
139 * DllUnregisterServer (shdocvw.@)
140 */
142{
143 TRACE("\n");
144#ifdef __REACTOS__
147#else
148 return S_OK;
149#endif
150}
151
152/******************************************************************
153 * IEWinMain (SHDOCVW.101)
154 *
155 * Only returns on error.
156 */
157DWORD WINAPI IEWinMain(LPSTR szCommandLine, int nShowWindow)
158{
159 DWORD (WINAPI *pIEWinMain)(const WCHAR*,int);
160 WCHAR *cmdline;
161 DWORD ret, len;
162
163 TRACE("%s %d\n", debugstr_a(szCommandLine), nShowWindow);
164
165 pIEWinMain = (void*)GetProcAddress(get_ieframe_instance(), MAKEINTRESOURCEA(101));
166 if(!pIEWinMain)
167 ExitProcess(1);
168
169 len = MultiByteToWideChar(CP_ACP, 0, szCommandLine, -1, NULL, 0);
170 cmdline = heap_alloc(len*sizeof(WCHAR));
171 if(!cmdline)
172 ExitProcess(1);
173 MultiByteToWideChar(CP_ACP, 0, szCommandLine, -1, cmdline, len);
174
175 ret = pIEWinMain(cmdline, nShowWindow);
176
178 return ret;
179}
180
181/*************************************************************************
182 * SHDOCVW DllMain
183 */
185{
186 TRACE("%p 0x%x %p\n", hinst, fdwReason, fImpLoad);
187 switch (fdwReason)
188 {
190#ifdef __REACTOS__
191 instance = hinst;
193#endif
195 break;
197 if (fImpLoad) break;
200 break;
201 }
202 return TRUE;
203}
204
205/*************************************************************************
206 * DllCanUnloadNow (SHDOCVW.@)
207 */
209{
210#ifdef __REACTOS__
212 return S_FALSE;
213#endif
214 return SHDOCVW_refCount ? S_FALSE : S_OK;
215}
216
217/***********************************************************************
218 * DllGetVersion (SHDOCVW.@)
219 */
221{
222 if (info->cbSize != sizeof(DLLVERSIONINFO)) FIXME("support DLLVERSIONINFO2\n");
223
224 /* this is what IE6 on Windows 98 reports */
225 info->dwMajorVersion = 6;
226 info->dwMinorVersion = 0;
227 info->dwBuildNumber = 2600;
228 info->dwPlatformID = DLLVER_PLATFORM_WINDOWS;
229
230 return NOERROR;
231}
232
233/*************************************************************************
234 * DllInstall (SHDOCVW.@)
235 */
237{
238 FIXME("(%s, %s): stub!\n", bInstall ? "TRUE":"FALSE", debugstr_w(cmdline));
239
240 return S_OK;
241}
242
243/*************************************************************************
244 * SHDOCVW_LoadShell32
245 *
246 * makes sure the handle to shell32 is valid
247 */
249{
251 return TRUE;
252 return ((SHDOCVW_hshell32 = LoadLibraryA("shell32.dll")) != NULL);
253}
254
255/***********************************************************************
256 * @ (SHDOCVW.110)
257 *
258 * Called by Win98 explorer.exe main binary, definitely has 0
259 * parameters.
260 */
262{
263 FIXME("(), stub!\n");
264 return 0x0deadfeed;
265}
266
267/***********************************************************************
268 * @ (SHDOCVW.118)
269 *
270 * Called by Win98 explorer.exe main binary, definitely has only one
271 * parameter.
272 */
273static BOOL (WINAPI *pShellDDEInit)(BOOL start) = NULL;
274
276{
277 TRACE("(%d)\n", start);
278
279 if (!pShellDDEInit)
280 {
281 if (!SHDOCVW_LoadShell32())
282 return FALSE;
283 pShellDDEInit = (void *)GetProcAddress(SHDOCVW_hshell32, (LPCSTR)188);
284 }
285
286 if (pShellDDEInit)
287 return pShellDDEInit(start);
288 else
289 return FALSE;
290}
291
292/***********************************************************************
293 * @ (SHDOCVW.125)
294 *
295 * Called by Win98 explorer.exe main binary, definitely has 0
296 * parameters.
297 */
299{
300 FIXME("(), stub!\n");
301 return 0x0deadbee;
302}
303
304/***********************************************************************
305 * @ (SHDOCVW.130)
306 *
307 * Called by Emerge Desktop (alternative Windows Shell).
308 */
310{
311 FIXME("(%d), stub!\n", arg);
312 return 0x0deadbee;
313}
314
315/***********************************************************************
316 * SetQueryNetSessionCount (SHDOCVW.@)
317 */
319{
320 FIXME("(%u), stub!\n", arg);
321 return 0;
322}
323
324/**********************************************************************
325 * Some forwards (by ordinal) to SHLWAPI
326 */
327
329{
330 static const WCHAR shlwapiW[] = {'s','h','l','w','a','p','i','.','d','l','l','\0'};
331 static HANDLE h;
332
333 if (!h && !(h = GetModuleHandleW(shlwapiW))) return NULL;
334 return (void*)GetProcAddress(h, (const char*)ord);
335}
336
337/******************************************************************
338 * WhichPlatformFORWARD (SHDOCVW.@)
339 */
341{
342 static DWORD (WINAPI *p)(void);
343
344 if (p || (p = fetch_shlwapi_ordinal(276))) return p();
345 return 1; /* not integrated, see shlwapi.WhichPlatform */
346}
347
348/******************************************************************
349 * StopWatchModeFORWARD (SHDOCVW.@)
350 */
352{
353 static void (WINAPI *p)(void);
354
355 if (p || (p = fetch_shlwapi_ordinal(241))) p();
356}
357
358/******************************************************************
359 * StopWatchFlushFORWARD (SHDOCVW.@)
360 */
362{
363 static void (WINAPI *p)(void);
364
365 if (p || (p = fetch_shlwapi_ordinal(242))) p();
366}
367
368/******************************************************************
369 * StopWatchAFORWARD (SHDOCVW.@)
370 */
371DWORD WINAPI StopWatchAFORWARD(DWORD dwClass, LPCSTR lpszStr, DWORD dwUnknown,
372 DWORD dwMode, DWORD dwTimeStamp)
373{
374 static DWORD (WINAPI *p)(DWORD, LPCSTR, DWORD, DWORD, DWORD);
375
376 if (p || (p = fetch_shlwapi_ordinal(243)))
377 return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
379}
380
381/******************************************************************
382 * StopWatchWFORWARD (SHDOCVW.@)
383 */
384DWORD WINAPI StopWatchWFORWARD(DWORD dwClass, LPCWSTR lpszStr, DWORD dwUnknown,
385 DWORD dwMode, DWORD dwTimeStamp)
386{
387 static DWORD (WINAPI *p)(DWORD, LPCWSTR, DWORD, DWORD, DWORD);
388
389 if (p || (p = fetch_shlwapi_ordinal(244)))
390 return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
392}
393
394/******************************************************************
395 * URLSubRegQueryA (SHDOCVW.151)
396 */
398 LPSTR out, DWORD outlen, DWORD unknown)
399{
401 DWORD len;
402 LONG res;
403
404 TRACE("(%s, %s, %d, %p, %d, %d)\n", debugstr_a(regpath), debugstr_a(name),
405 type, out, outlen, unknown);
406
407 if (!out) return S_OK;
408
409 len = sizeof(buffer);
410 res = SHRegGetUSValueA(regpath, name, NULL, buffer, &len, FALSE, NULL, 0);
411 if (!res) {
412 lstrcpynA(out, buffer, outlen);
413 return S_OK;
414 }
415
416 return E_FAIL;
417}
418
419/******************************************************************
420 * ParseURLFromOutsideSourceW (SHDOCVW.170)
421 */
423{
425 WCHAR buffer_out[INTERNET_MAX_URL_LENGTH];
426 LPCWSTR ptr = url;
427 HRESULT hr;
428 DWORD needed;
429 DWORD len;
430 DWORD res;
431
432 TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_w(url), out, plen, unknown,
433 plen ? *plen : 0, unknown ? *unknown : 0);
434
435 if (!PathIsURLW(ptr)) {
436 len = ARRAY_SIZE(buffer_in);
437 buffer_in[0] = 0;
439 TRACE("got 0x%x with %s\n", hr, debugstr_w(buffer_in));
440 if (hr == S_OK) {
441 /* we parsed the url to buffer_in */
442 ptr = buffer_in;
443 }
444 else
445 {
446 FIXME("call search hook for %s\n", debugstr_w(ptr));
447 }
448 }
449
450 len = ARRAY_SIZE(buffer_out);
451 buffer_out[0] = '\0';
453 needed = lstrlenW(buffer_out)+1;
454 TRACE("got 0x%x with %s (need %d)\n", hr, debugstr_w(buffer_out), needed);
455
456 res = 0;
457 if (*plen >= needed) {
458 if (out != NULL) {
459 lstrcpyW(out, buffer_out);
460 /* On success, 1 is returned for unicode version */
461 res = 1;
462 }
463 needed--;
464 }
465
466 *plen = needed;
467
468 TRACE("=> %d\n", res);
469 return res;
470}
471
472/******************************************************************
473 * ParseURLFromOutsideSourceA (SHDOCVW.169)
474 *
475 * See ParseURLFromOutsideSourceW
476 */
478{
480 LPWSTR urlW = NULL;
481 DWORD needed;
482 DWORD res;
483 DWORD len;
484
485 TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_a(url), out, plen, unknown,
486 plen ? *plen : 0, unknown ? *unknown : 0);
487
488 if (url) {
489 len = MultiByteToWideChar(CP_ACP, 0, url, -1, NULL, 0);
490 urlW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
491 MultiByteToWideChar(CP_ACP, 0, url, -1, urlW, len);
492 }
493
496 HeapFree(GetProcessHeap(), 0, urlW);
497
498 needed = WideCharToMultiByte(CP_ACP, 0, buffer, -1, NULL, 0, NULL, NULL);
499
500 res = 0;
501 if (*plen >= needed) {
502 if (out != NULL) {
503 WideCharToMultiByte(CP_ACP, 0, buffer, -1, out, *plen, NULL, NULL);
504 /* On success, string size including terminating 0 is returned for ansi version */
505 res = needed;
506 }
507 needed--;
508 }
509
510 *plen = needed;
511
512 TRACE("=> %d\n", res);
513 return res;
514}
515
516/******************************************************************
517 * IEParseDisplayNameWithBCW (SHDOCVW.218)
518 */
520{
521 /* Guessing at parameter 3 based on IShellFolder's ParseDisplayName */
522 FIXME("stub: 0x%x %s %p %p\n",codepage,debugstr_w(lpszDisplayName),pbc,ppidl);
523 return E_FAIL;
524}
525
526/******************************************************************
527 * SHRestricted2W (SHDOCVW.159)
528 */
530{
531 FIXME("(%d %s %d) stub\n", res, debugstr_w(url), reserved);
532 return 0;
533}
534
535/******************************************************************
536 * SHRestricted2A (SHDOCVW.158)
537 *
538 * See SHRestricted2W
539 */
541{
542 LPWSTR urlW = NULL;
543 DWORD res;
544
545 TRACE("(%d, %s, %d)\n", restriction, debugstr_a(url), reserved);
546 if (url) {
548 urlW = heap_alloc(len * sizeof(WCHAR));
549 MultiByteToWideChar(CP_ACP, 0, url, -1, urlW, len);
550 }
551 res = SHRestricted2W(restriction, urlW, reserved);
552 heap_free(urlW);
553 return res;
554}
555
556/******************************************************************
557 * ImportPrivacySettings (SHDOCVW.@)
558 *
559 * Import global and/or per site privacy preferences from an xml file
560 *
561 * PARAMS
562 * filename [I] XML file to use
563 * pGlobalPrefs [IO] PTR to a usage flag for the global privacy preferences
564 * pPerSitePrefs [IO] PTR to a usage flag for the per site privacy preferences
565 *
566 * RETURNS
567 * Success: TRUE (the privacy preferences where updated)
568 * Failure: FALSE (the privacy preferences are unchanged)
569 *
570 * NOTES
571 * Set the flag to TRUE, when the related privacy preferences in the xml file
572 * should be used (parsed and overwrite the current settings).
573 * On return, the flag is TRUE, when the related privacy settings where used
574 *
575 */
576BOOL WINAPI ImportPrivacySettings(LPCWSTR filename, BOOL *pGlobalPrefs, BOOL * pPerSitePrefs)
577{
578 FIXME("(%s, %p->%d, %p->%d): stub\n", debugstr_w(filename),
579 pGlobalPrefs, pGlobalPrefs ? *pGlobalPrefs : 0,
580 pPerSitePrefs, pPerSitePrefs ? *pPerSitePrefs : 0);
581
582 if (pGlobalPrefs) *pGlobalPrefs = FALSE;
583 if (pPerSitePrefs) *pPerSitePrefs = FALSE;
584
585 return TRUE;
586}
587
588/******************************************************************
589 * ResetProfileSharing (SHDOCVW.164)
590 */
592{
593 FIXME("(%p) stub\n", hwnd);
594 return E_NOTIMPL;
595}
596
597/******************************************************************
598 * InstallReg_RunDLL (SHDOCVW.@)
599 */
601{
602 FIXME("(%p %p %s %x)\n", hwnd, handle, debugstr_a(cmdline), show);
603}
604
605/******************************************************************
606 * DoFileDownload (SHDOCVW.@)
607 */
609{
610 FIXME("(%s) stub\n", debugstr_w(filename));
611 return FALSE;
612}
613
614/******************************************************************
615 * DoOrganizeFavDlgW (SHDOCVW.@)
616 */
618{
619 FIXME("(%p %s) stub\n", hwnd, debugstr_w(initDir));
620 return FALSE;
621}
622
623/******************************************************************
624 * DoOrganizeFavDlg (SHDOCVW.@)
625 */
627{
628 LPWSTR initDirW = NULL;
629 BOOL res;
630
631 TRACE("(%p %s)\n", hwnd, debugstr_a(initDir));
632
633 if (initDir) {
634 DWORD len = MultiByteToWideChar(CP_ACP, 0, initDir, -1, NULL, 0);
635 initDirW = heap_alloc(len * sizeof(WCHAR));
636 MultiByteToWideChar(CP_ACP, 0, initDir, -1, initDirW, len);
637 }
638 res = DoOrganizeFavDlgW(hwnd, initDirW);
639 heap_free(initDirW);
640 return res;
641}
EXTERN_C HRESULT CFavBand_DllCanUnloadNow(VOID)
Definition: CFavBand.cpp:637
EXTERN_C VOID CFavBand_Init(HINSTANCE hInstance)
Definition: CFavBand.cpp:631
EXTERN_C HRESULT CFavBand_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
Definition: CFavBand.cpp:643
EXTERN_C HRESULT CFavBand_DllUnregisterServer(VOID)
Definition: CFavBand.cpp:655
EXTERN_C HRESULT CFavBand_DllRegisterServer(VOID)
Definition: CFavBand.cpp:649
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
Definition: precomp.h:23
#define ARRAY_SIZE(A)
Definition: main.h:33
#define FIXME(fmt,...)
Definition: precomp.h:53
DWORD LPVOID fImpLoad
Definition: misc.cpp:155
const GUID IID_IUnknown
const GUID IID_IClassFactory
#define E_NOTIMPL
Definition: ddrawi.h:99
#define E_FAIL
Definition: ddrawi.h:102
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117
static HINSTANCE instance
Definition: main.c:40
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1605
#define GetProcessHeap()
Definition: compat.h:736
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
#define DLL_PROCESS_DETACH
Definition: compat.h:130
#define CP_ACP
Definition: compat.h:109
#define lstrcpynA
Definition: compat.h:751
#define GetProcAddress(x, y)
Definition: compat.h:753
#define HeapAlloc
Definition: compat.h:733
#define FreeLibrary(x)
Definition: compat.h:748
#define HeapFree(x, y, z)
Definition: compat.h:735
#define lstrcpyW
Definition: compat.h:749
#define WideCharToMultiByte
Definition: compat.h:111
#define MultiByteToWideChar
Definition: compat.h:110
#define LoadLibraryW(x)
Definition: compat.h:747
#define lstrlenW
Definition: compat.h:750
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:838
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
VOID WINAPI ExitProcess(IN UINT uExitCode)
Definition: proc.c:1487
LONG WINAPI SHRegGetUSValueA(LPCSTR pSubKey, LPCSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData, BOOL flagIgnoreHKCU, LPVOID pDefaultData, DWORD wDefaultDataSize)
Definition: reg.c:561
HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized, LPDWORD pcchCanonicalized, DWORD dwFlags)
Definition: url.c:282
HRESULT WINAPI UrlApplySchemeW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DWORD dwFlags)
Definition: url.c:1817
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
Definition: url.c:2432
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
#define INTERNET_MAX_URL_LENGTH
Definition: session.c:1418
r reserved
Definition: btrfs.c:3006
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint start
Definition: gl.h:1545
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint res
Definition: glext.h:9613
GLuint buffer
Definition: glext.h:5915
GLfloat GLfloat p
Definition: glext.h:8902
GLenum GLsizei len
Definition: glext.h:6722
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
const char * filename
Definition: ioapi.h:137
#define debugstr_guid
Definition: kernel32.h:35
#define debugstr_a
Definition: kernel32.h:31
#define debugstr_w
Definition: kernel32.h:32
static PVOID ptr
Definition: dispmode.c:27
static HINSTANCE hinst
Definition: edit.c:551
static const WCHAR url[]
Definition: encode.c:1432
EXTERN_C HRESULT CMruPidlList_CreateInstance(DWORD_PTR dwUnused1, void **ppv, DWORD_PTR dwUnused3)
Definition: mrulist.cpp:1271
EXTERN_C HRESULT CMruLongList_CreateInstance(DWORD_PTR dwUnused1, void **ppv, DWORD_PTR dwUnused3)
Definition: mrulist.cpp:737
EXTERN_C HRESULT CMruClassFactory_CreateInstance(REFIID riid, void **ppv)
Definition: mrulist.cpp:1398
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
#define BOOL
Definition: nt_native.h:43
#define DWORD
Definition: nt_native.h:44
interface IBindCtx * LPBC
Definition: objfwd.h:18
long LONG
Definition: pedump.c:60
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define REFIID
Definition: guiddef.h:118
#define REFCLSID
Definition: guiddef.h:117
static FILE * out
Definition: regtests2xml.c:44
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:110
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:98
HRESULT SHDOCVW_GetShellInstanceObjectClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppvClassObj) DECLSPEC_HIDDEN
Definition: shlinstobj.c:365
DWORD WINAPI IEWinMain(LPSTR szCommandLine, int nShowWindow)
Definition: shdocvw_main.c:157
BOOL WINAPI DoFileDownload(LPWSTR filename)
Definition: shdocvw_main.c:608
HRESULT WINAPI IEParseDisplayNameWithBCW(DWORD codepage, LPCWSTR lpszDisplayName, LPBC pbc, LPITEMIDLIST *ppidl)
Definition: shdocvw_main.c:519
DWORD WINAPI ParseURLFromOutsideSourceA(LPCSTR url, LPSTR out, LPDWORD plen, LPDWORD unknown)
Definition: shdocvw_main.c:477
HRESULT WINAPI DllRegisterServer(void)
Definition: shdocvw_main.c:127
DWORD WINAPI SHRestricted2A(DWORD restriction, LPCSTR url, DWORD reserved)
Definition: shdocvw_main.c:540
LONG SHDOCVW_refCount
Definition: shdocvw_main.c:45
BOOL WINAPI ShellDDEInit(BOOL start)
Definition: shdocvw_main.c:275
static HRESULT get_ieframe_object(REFCLSID rclsid, REFIID riid, void **ppv)
Definition: shdocvw_main.c:63
HRESULT WINAPI ResetProfileSharing(HWND hwnd)
Definition: shdocvw_main.c:591
HRESULT WINAPI DllGetVersion(DLLVERSIONINFO *info)
Definition: shdocvw_main.c:220
DWORD WINAPI WhichPlatformFORWARD(void)
Definition: shdocvw_main.c:340
DWORD WINAPI RunInstallUninstallStubs(void)
Definition: shdocvw_main.c:298
DWORD WINAPI StopWatchAFORWARD(DWORD dwClass, LPCSTR lpszStr, DWORD dwUnknown, DWORD dwMode, DWORD dwTimeStamp)
Definition: shdocvw_main.c:371
DWORD WINAPI RunInstallUninstallStubs2(int arg)
Definition: shdocvw_main.c:309
BOOL WINAPI DoOrganizeFavDlgW(HWND hwnd, LPCWSTR initDir)
Definition: shdocvw_main.c:617
HRESULT WINAPI DllUnregisterServer(void)
Definition: shdocvw_main.c:141
BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
Definition: shdocvw_main.c:184
HRESULT WINAPI DllInstall(BOOL bInstall, LPCWSTR cmdline)
Definition: shdocvw_main.c:236
DWORD WINAPI StopWatchWFORWARD(DWORD dwClass, LPCWSTR lpszStr, DWORD dwUnknown, DWORD dwMode, DWORD dwTimeStamp)
Definition: shdocvw_main.c:384
static HINSTANCE ieframe_instance
Definition: shdocvw_main.c:48
void WINAPI StopWatchModeFORWARD(void)
Definition: shdocvw_main.c:351
BOOL WINAPI DoOrganizeFavDlg(HWND hwnd, LPCSTR initDir)
Definition: shdocvw_main.c:626
void WINAPI StopWatchFlushFORWARD(void)
Definition: shdocvw_main.c:361
void WINAPI InstallReg_RunDLL(HWND hwnd, HINSTANCE handle, LPCSTR cmdline, INT show)
Definition: shdocvw_main.c:600
DWORD WINAPI WinList_Init(void)
Definition: shdocvw_main.c:261
static BOOL SHDOCVW_LoadShell32(void)
Definition: shdocvw_main.c:248
DWORD WINAPI SetQueryNetSessionCount(DWORD arg)
Definition: shdocvw_main.c:318
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
Definition: shdocvw_main.c:85
HRESULT WINAPI URLSubRegQueryA(LPCSTR regpath, LPCSTR name, DWORD type, LPSTR out, DWORD outlen, DWORD unknown)
Definition: shdocvw_main.c:397
HRESULT WINAPI DllCanUnloadNow(void)
Definition: shdocvw_main.c:208
BOOL WINAPI ImportPrivacySettings(LPCWSTR filename, BOOL *pGlobalPrefs, BOOL *pPerSitePrefs)
Definition: shdocvw_main.c:576
static HINSTANCE get_ieframe_instance(void)
Definition: shdocvw_main.c:53
DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, LPDWORD unknown)
Definition: shdocvw_main.c:422
static void * fetch_shlwapi_ordinal(UINT_PTR ord)
Definition: shdocvw_main.c:328
static HMODULE SHDOCVW_hshell32
Definition: shdocvw_main.c:47
DWORD WINAPI SHRestricted2W(DWORD res, LPCWSTR url, DWORD reserved)
Definition: shdocvw_main.c:529
HRESULT hr
Definition: shlfolder.c:183
#define URL_APPLY_GUESSSCHEME
Definition: shlwapi.h:1203
#define URL_APPLY_DEFAULT
Definition: shlwapi.h:1204
#define URL_ESCAPE_SPACES_ONLY
Definition: shlwapi.h:1216
#define DLLVER_PLATFORM_WINDOWS
Definition: shlwapi.h:1961
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
#define TRACE(s)
Definition: solgame.cpp:4
TCHAR * cmdline
Definition: stretchblt.cpp:32
Definition: name.c:39
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t INT
Definition: typedefs.h:58
int ret
int codepage
Definition: win_iconv.c:156
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
#define HRESULT
Definition: msvc.h:7
#define WINAPI
Definition: msvc.h:6
#define S_FALSE
Definition: winerror.h:2357
#define NOERROR
Definition: winerror.h:2354
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:2663
#define MAKEINTRESOURCEA(i)
Definition: winuser.h:581
const char * LPCSTR
Definition: xmlstorage.h:183
char * LPSTR
Definition: xmlstorage.h:182
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
char CHAR
Definition: xmlstorage.h:175