ReactOS 0.4.15-dev-7897-g78dc504
shdocvw_main.c File Reference
#include <stdarg.h>
#include <stdio.h>
#include "wine/debug.h"
#include "shdocvw.h"
#include "winreg.h"
#include "shlwapi.h"
#include "wininet.h"
#include "isguids.h"
#include "initguid.h"
Include dependency graph for shdocvw_main.c:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (shdocvw)
 
static HINSTANCE get_ieframe_instance (void)
 
static HRESULT get_ieframe_object (REFCLSID rclsid, REFIID riid, void **ppv)
 
HRESULT WINAPI DllGetClassObject (REFCLSID rclsid, REFIID riid, void **ppv)
 
HRESULT WINAPI DllRegisterServer (void)
 
HRESULT WINAPI DllUnregisterServer (void)
 
DWORD WINAPI IEWinMain (LPSTR szCommandLine, int nShowWindow)
 
BOOL WINAPI DllMain (HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
 
HRESULT WINAPI DllCanUnloadNow (void)
 
HRESULT WINAPI DllGetVersion (DLLVERSIONINFO *info)
 
HRESULT WINAPI DllInstall (BOOL bInstall, LPCWSTR cmdline)
 
static BOOL SHDOCVW_LoadShell32 (void)
 
DWORD WINAPI WinList_Init (void)
 
static BOOL (WINAPI *pShellDDEInit)(BOOL start)
 
BOOL WINAPI ShellDDEInit (BOOL start)
 
DWORD WINAPI RunInstallUninstallStubs (void)
 
DWORD WINAPI RunInstallUninstallStubs2 (int arg)
 
DWORD WINAPI SetQueryNetSessionCount (DWORD arg)
 
static voidfetch_shlwapi_ordinal (UINT_PTR ord)
 
DWORD WINAPI WhichPlatformFORWARD (void)
 
void WINAPI StopWatchModeFORWARD (void)
 
void WINAPI StopWatchFlushFORWARD (void)
 
DWORD WINAPI StopWatchAFORWARD (DWORD dwClass, LPCSTR lpszStr, DWORD dwUnknown, DWORD dwMode, DWORD dwTimeStamp)
 
DWORD WINAPI StopWatchWFORWARD (DWORD dwClass, LPCWSTR lpszStr, DWORD dwUnknown, DWORD dwMode, DWORD dwTimeStamp)
 
HRESULT WINAPI URLSubRegQueryA (LPCSTR regpath, LPCSTR name, DWORD type, LPSTR out, DWORD outlen, DWORD unknown)
 
DWORD WINAPI ParseURLFromOutsideSourceW (LPCWSTR url, LPWSTR out, LPDWORD plen, LPDWORD unknown)
 
DWORD WINAPI ParseURLFromOutsideSourceA (LPCSTR url, LPSTR out, LPDWORD plen, LPDWORD unknown)
 
HRESULT WINAPI IEParseDisplayNameWithBCW (DWORD codepage, LPCWSTR lpszDisplayName, LPBC pbc, LPITEMIDLIST *ppidl)
 
DWORD WINAPI SHRestricted2W (DWORD res, LPCWSTR url, DWORD reserved)
 
DWORD WINAPI SHRestricted2A (DWORD restriction, LPCSTR url, DWORD reserved)
 
BOOL WINAPI ImportPrivacySettings (LPCWSTR filename, BOOL *pGlobalPrefs, BOOL *pPerSitePrefs)
 
HRESULT WINAPI ResetProfileSharing (HWND hwnd)
 
void WINAPI InstallReg_RunDLL (HWND hwnd, HINSTANCE handle, LPCSTR cmdline, INT show)
 
BOOL WINAPI DoFileDownload (LPWSTR filename)
 
BOOL WINAPI DoOrganizeFavDlgW (HWND hwnd, LPCWSTR initDir)
 
BOOL WINAPI DoOrganizeFavDlg (HWND hwnd, LPCSTR initDir)
 

Variables

LONG SHDOCVW_refCount = 0
 
static HMODULE SHDOCVW_hshell32 = 0
 
static HINSTANCE ieframe_instance
 

Function Documentation

◆ BOOL()

static BOOL ( WINAPI pShellDDEInit)
static

◆ DllCanUnloadNow()

HRESULT WINAPI DllCanUnloadNow ( void  )

Definition at line 199 of file shdocvw_main.c.

200{
201 return SHDOCVW_refCount ? S_FALSE : S_OK;
202}
#define S_OK
Definition: intsafe.h:52
LONG SHDOCVW_refCount
Definition: shdocvw_main.c:44
#define S_FALSE
Definition: winerror.h:2357

◆ DllGetClassObject()

HRESULT WINAPI DllGetClassObject ( REFCLSID  rclsid,
REFIID  riid,
void **  ppv 
)

Definition at line 84 of file shdocvw_main.c.

85{
86 TRACE("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
87
88 if(IsEqualGUID(&CLSID_WebBrowser, rclsid)
89 || IsEqualGUID(&CLSID_WebBrowser_V1, rclsid)
90 || IsEqualGUID(&CLSID_InternetShortcut, rclsid)
91 || IsEqualGUID(&CLSID_CUrlHistory, rclsid)
92 || IsEqualGUID(&CLSID_TaskbarList, rclsid))
93 return get_ieframe_object(rclsid, riid, ppv);
94
95#ifdef __REACTOS__
97 {
98 if (IsEqualGUID(rclsid, &CLSID_MruLongList) ||
99 IsEqualGUID(rclsid, &CLSID_MruPidlList))
100 {
102 }
103 }
104 else if (IsEqualGUID(riid, &IID_IMruDataList))
105 {
106 return CMruLongList_CreateInstance(0, ppv, 0);
107 }
108 else if (IsEqualGUID(riid, &IID_IMruPidlList))
109 {
110 return CMruPidlList_CreateInstance(0, ppv, 0);
111 }
112#endif
113
114 /* As a last resort, figure if the CLSID belongs to a 'Shell Instance Object' */
116}
const GUID IID_IUnknown
const GUID IID_IClassFactory
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
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
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
HRESULT SHDOCVW_GetShellInstanceObjectClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppvClassObj) DECLSPEC_HIDDEN
Definition: shlinstobj.c:357
static HRESULT get_ieframe_object(REFCLSID rclsid, REFIID riid, void **ppv)
Definition: shdocvw_main.c:62
#define TRACE(s)
Definition: solgame.cpp:4

◆ DllGetVersion()

HRESULT WINAPI DllGetVersion ( DLLVERSIONINFO info)

Definition at line 207 of file shdocvw_main.c.

208{
209 if (info->cbSize != sizeof(DLLVERSIONINFO)) FIXME("support DLLVERSIONINFO2\n");
210
211 /* this is what IE6 on Windows 98 reports */
212 info->dwMajorVersion = 6;
213 info->dwMinorVersion = 0;
214 info->dwBuildNumber = 2600;
215 info->dwPlatformID = DLLVER_PLATFORM_WINDOWS;
216
217 return NOERROR;
218}
#define FIXME(fmt,...)
Definition: debug.h:111
#define DLLVER_PLATFORM_WINDOWS
Definition: shlwapi.h:1961
#define NOERROR
Definition: winerror.h:2354

◆ DllInstall()

HRESULT WINAPI DllInstall ( BOOL  bInstall,
LPCWSTR  cmdline 
)

Definition at line 223 of file shdocvw_main.c.

224{
225 FIXME("(%s, %s): stub!\n", bInstall ? "TRUE":"FALSE", debugstr_w(cmdline));
226
227 return S_OK;
228}
#define debugstr_w
Definition: kernel32.h:32
TCHAR * cmdline
Definition: stretchblt.cpp:32

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hinst,
DWORD  fdwReason,
LPVOID  fImpLoad 
)

Definition at line 176 of file shdocvw_main.c.

177{
178 TRACE("%p 0x%x %p\n", hinst, fdwReason, fImpLoad);
179 switch (fdwReason)
180 {
182#ifdef __REACTOS__
183 instance = hinst;
184#endif
186 break;
188 if (fImpLoad) break;
191 break;
192 }
193 return TRUE;
194}
DWORD LPVOID fImpLoad
Definition: misc.cpp:155
#define TRUE
Definition: types.h:120
static HINSTANCE instance
Definition: main.c:40
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
#define DLL_PROCESS_DETACH
Definition: compat.h:130
#define FreeLibrary(x)
Definition: compat.h:748
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
static HINSTANCE hinst
Definition: edit.c:551
static HINSTANCE ieframe_instance
Definition: shdocvw_main.c:47
static HMODULE SHDOCVW_hshell32
Definition: shdocvw_main.c:46

◆ DllRegisterServer()

HRESULT WINAPI DllRegisterServer ( void  )

Definition at line 121 of file shdocvw_main.c.

122{
123 TRACE("\n");
124#ifdef __REACTOS__
126#else
127 return S_OK;
128#endif
129}
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:98

◆ DllUnregisterServer()

HRESULT WINAPI DllUnregisterServer ( void  )

Definition at line 134 of file shdocvw_main.c.

135{
136 TRACE("\n");
137#ifdef __REACTOS__
139#else
140 return S_OK;
141#endif
142}
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:110

◆ DoFileDownload()

BOOL WINAPI DoFileDownload ( LPWSTR  filename)

Definition at line 595 of file shdocvw_main.c.

596{
597 FIXME("(%s) stub\n", debugstr_w(filename));
598 return FALSE;
599}
#define FALSE
Definition: types.h:117
const char * filename
Definition: ioapi.h:137

◆ DoOrganizeFavDlg()

BOOL WINAPI DoOrganizeFavDlg ( HWND  hwnd,
LPCSTR  initDir 
)

Definition at line 613 of file shdocvw_main.c.

614{
615 LPWSTR initDirW = NULL;
616 BOOL res;
617
618 TRACE("(%p %s)\n", hwnd, debugstr_a(initDir));
619
620 if (initDir) {
621 DWORD len = MultiByteToWideChar(CP_ACP, 0, initDir, -1, NULL, 0);
622 initDirW = heap_alloc(len * sizeof(WCHAR));
623 MultiByteToWideChar(CP_ACP, 0, initDir, -1, initDirW, len);
624 }
625 res = DoOrganizeFavDlgW(hwnd, initDirW);
626 heap_free(initDirW);
627 return res;
628}
static void * heap_alloc(size_t len)
Definition: appwiz.h:66
static BOOL heap_free(void *mem)
Definition: appwiz.h:76
#define NULL
Definition: types.h:112
#define CP_ACP
Definition: compat.h:109
#define MultiByteToWideChar
Definition: compat.h:110
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint res
Definition: glext.h:9613
GLenum GLsizei len
Definition: glext.h:6722
#define debugstr_a
Definition: kernel32.h:31
BOOL WINAPI DoOrganizeFavDlgW(HWND hwnd, LPCWSTR initDir)
Definition: shdocvw_main.c:604
_In_ LONG _In_ HWND hwnd
Definition: winddi.h:4023
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ DoOrganizeFavDlgW()

BOOL WINAPI DoOrganizeFavDlgW ( HWND  hwnd,
LPCWSTR  initDir 
)

Definition at line 604 of file shdocvw_main.c.

605{
606 FIXME("(%p %s) stub\n", hwnd, debugstr_w(initDir));
607 return FALSE;
608}

Referenced by DoOrganizeFavDlg().

◆ fetch_shlwapi_ordinal()

static void * fetch_shlwapi_ordinal ( UINT_PTR  ord)
static

Definition at line 315 of file shdocvw_main.c.

316{
317 static const WCHAR shlwapiW[] = {'s','h','l','w','a','p','i','.','d','l','l','\0'};
318 static HANDLE h;
319
320 if (!h && !(h = GetModuleHandleW(shlwapiW))) return NULL;
321 return (void*)GetProcAddress(h, (const char*)ord);
322}
#define GetProcAddress(x, y)
Definition: compat.h:753
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:838
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723

Referenced by StopWatchAFORWARD(), StopWatchFlushFORWARD(), StopWatchModeFORWARD(), StopWatchWFORWARD(), and WhichPlatformFORWARD().

◆ get_ieframe_instance()

static HINSTANCE get_ieframe_instance ( void  )
static

Definition at line 52 of file shdocvw_main.c.

53{
54 static const WCHAR ieframe_dllW[] = {'i','e','f','r','a','m','e','.','d','l','l',0};
55
57 ieframe_instance = LoadLibraryW(ieframe_dllW);
58
59 return ieframe_instance;
60}
#define LoadLibraryW(x)
Definition: compat.h:747

Referenced by get_ieframe_object(), and IEWinMain().

◆ get_ieframe_object()

static HRESULT get_ieframe_object ( REFCLSID  rclsid,
REFIID  riid,
void **  ppv 
)
static

Definition at line 62 of file shdocvw_main.c.

63{
65
66 static HRESULT (WINAPI *ieframe_DllGetClassObject)(REFCLSID,REFIID,void**);
67
68 if(!ieframe_DllGetClassObject) {
72
73 ieframe_DllGetClassObject = (void*)GetProcAddress(ieframe_instance, "DllGetClassObject");
74 if(!ieframe_DllGetClassObject)
76 }
77
78 return ieframe_DllGetClassObject(rclsid, riid, ppv);
79}
#define REFIID
Definition: guiddef.h:118
#define REFCLSID
Definition: guiddef.h:117
static HINSTANCE get_ieframe_instance(void)
Definition: shdocvw_main.c:52
#define HRESULT
Definition: msvc.h:7
#define WINAPI
Definition: msvc.h:6
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:2663

Referenced by DllGetClassObject().

◆ IEParseDisplayNameWithBCW()

HRESULT WINAPI IEParseDisplayNameWithBCW ( DWORD  codepage,
LPCWSTR  lpszDisplayName,
LPBC  pbc,
LPITEMIDLIST ppidl 
)

Definition at line 506 of file shdocvw_main.c.

507{
508 /* Guessing at parameter 3 based on IShellFolder's ParseDisplayName */
509 FIXME("stub: 0x%x %s %p %p\n",codepage,debugstr_w(lpszDisplayName),pbc,ppidl);
510 return E_FAIL;
511}
#define E_FAIL
Definition: ddrawi.h:102
int codepage
Definition: win_iconv.c:156

◆ IEWinMain()

DWORD WINAPI IEWinMain ( LPSTR  szCommandLine,
int  nShowWindow 
)

Definition at line 149 of file shdocvw_main.c.

150{
151 DWORD (WINAPI *pIEWinMain)(const WCHAR*,int);
152 WCHAR *cmdline;
153 DWORD ret, len;
154
155 TRACE("%s %d\n", debugstr_a(szCommandLine), nShowWindow);
156
157 pIEWinMain = (void*)GetProcAddress(get_ieframe_instance(), MAKEINTRESOURCEA(101));
158 if(!pIEWinMain)
159 ExitProcess(1);
160
161 len = MultiByteToWideChar(CP_ACP, 0, szCommandLine, -1, NULL, 0);
162 cmdline = heap_alloc(len*sizeof(WCHAR));
163 if(!cmdline)
164 ExitProcess(1);
165 MultiByteToWideChar(CP_ACP, 0, szCommandLine, -1, cmdline, len);
166
167 ret = pIEWinMain(cmdline, nShowWindow);
168
170 return ret;
171}
VOID WINAPI ExitProcess(IN UINT uExitCode)
Definition: proc.c:1487
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
#define DWORD
Definition: nt_native.h:44
int ret
#define MAKEINTRESOURCEA(i)
Definition: winuser.h:581

◆ ImportPrivacySettings()

BOOL WINAPI ImportPrivacySettings ( LPCWSTR  filename,
BOOL pGlobalPrefs,
BOOL pPerSitePrefs 
)

Definition at line 563 of file shdocvw_main.c.

564{
565 FIXME("(%s, %p->%d, %p->%d): stub\n", debugstr_w(filename),
566 pGlobalPrefs, pGlobalPrefs ? *pGlobalPrefs : 0,
567 pPerSitePrefs, pPerSitePrefs ? *pPerSitePrefs : 0);
568
569 if (pGlobalPrefs) *pGlobalPrefs = FALSE;
570 if (pPerSitePrefs) *pPerSitePrefs = FALSE;
571
572 return TRUE;
573}

◆ InstallReg_RunDLL()

void WINAPI InstallReg_RunDLL ( HWND  hwnd,
HINSTANCE  handle,
LPCSTR  cmdline,
INT  show 
)

Definition at line 587 of file shdocvw_main.c.

588{
589 FIXME("(%p %p %s %x)\n", hwnd, handle, debugstr_a(cmdline), show);
590}

◆ ParseURLFromOutsideSourceA()

DWORD WINAPI ParseURLFromOutsideSourceA ( LPCSTR  url,
LPSTR  out,
LPDWORD  plen,
LPDWORD  unknown 
)

Definition at line 464 of file shdocvw_main.c.

465{
467 LPWSTR urlW = NULL;
468 DWORD needed;
469 DWORD res;
470 DWORD len;
471
472 TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_a(url), out, plen, unknown,
473 plen ? *plen : 0, unknown ? *unknown : 0);
474
475 if (url) {
476 len = MultiByteToWideChar(CP_ACP, 0, url, -1, NULL, 0);
477 urlW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
478 MultiByteToWideChar(CP_ACP, 0, url, -1, urlW, len);
479 }
480
483 HeapFree(GetProcessHeap(), 0, urlW);
484
485 needed = WideCharToMultiByte(CP_ACP, 0, buffer, -1, NULL, 0, NULL, NULL);
486
487 res = 0;
488 if (*plen >= needed) {
489 if (out != NULL) {
490 WideCharToMultiByte(CP_ACP, 0, buffer, -1, out, *plen, NULL, NULL);
491 /* On success, string size including terminating 0 is returned for ansi version */
492 res = needed;
493 }
494 needed--;
495 }
496
497 *plen = needed;
498
499 TRACE("=> %d\n", res);
500 return res;
501}
#define ARRAY_SIZE(A)
Definition: main.h:33
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1605
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HeapFree(x, y, z)
Definition: compat.h:735
#define WideCharToMultiByte
Definition: compat.h:111
#define INTERNET_MAX_URL_LENGTH
Definition: session.c:1418
GLuint buffer
Definition: glext.h:5915
static const WCHAR url[]
Definition: encode.c:1432
static FILE * out
Definition: regtests2xml.c:44
DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, LPDWORD unknown)
Definition: shdocvw_main.c:409

◆ ParseURLFromOutsideSourceW()

DWORD WINAPI ParseURLFromOutsideSourceW ( LPCWSTR  url,
LPWSTR  out,
LPDWORD  plen,
LPDWORD  unknown 
)

Definition at line 409 of file shdocvw_main.c.

410{
412 WCHAR buffer_out[INTERNET_MAX_URL_LENGTH];
413 LPCWSTR ptr = url;
414 HRESULT hr;
415 DWORD needed;
416 DWORD len;
417 DWORD res;
418
419 TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_w(url), out, plen, unknown,
420 plen ? *plen : 0, unknown ? *unknown : 0);
421
422 if (!PathIsURLW(ptr)) {
423 len = ARRAY_SIZE(buffer_in);
424 buffer_in[0] = 0;
426 TRACE("got 0x%x with %s\n", hr, debugstr_w(buffer_in));
427 if (hr == S_OK) {
428 /* we parsed the url to buffer_in */
429 ptr = buffer_in;
430 }
431 else
432 {
433 FIXME("call search hook for %s\n", debugstr_w(ptr));
434 }
435 }
436
437 len = ARRAY_SIZE(buffer_out);
438 buffer_out[0] = '\0';
440 needed = lstrlenW(buffer_out)+1;
441 TRACE("got 0x%x with %s (need %d)\n", hr, debugstr_w(buffer_out), needed);
442
443 res = 0;
444 if (*plen >= needed) {
445 if (out != NULL) {
446 lstrcpyW(out, buffer_out);
447 /* On success, 1 is returned for unicode version */
448 res = 1;
449 }
450 needed--;
451 }
452
453 *plen = needed;
454
455 TRACE("=> %d\n", res);
456 return res;
457}
#define lstrcpyW
Definition: compat.h:749
#define lstrlenW
Definition: compat.h:750
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
static PVOID ptr
Definition: dispmode.c:27
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
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185

Referenced by ParseURLFromOutsideSourceA().

◆ ResetProfileSharing()

HRESULT WINAPI ResetProfileSharing ( HWND  hwnd)

Definition at line 578 of file shdocvw_main.c.

579{
580 FIXME("(%p) stub\n", hwnd);
581 return E_NOTIMPL;
582}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ RunInstallUninstallStubs()

DWORD WINAPI RunInstallUninstallStubs ( void  )

Definition at line 285 of file shdocvw_main.c.

286{
287 FIXME("(), stub!\n");
288 return 0x0deadbee;
289}

◆ RunInstallUninstallStubs2()

DWORD WINAPI RunInstallUninstallStubs2 ( int  arg)

Definition at line 296 of file shdocvw_main.c.

297{
298 FIXME("(%d), stub!\n", arg);
299 return 0x0deadbee;
300}

◆ SetQueryNetSessionCount()

DWORD WINAPI SetQueryNetSessionCount ( DWORD  arg)

Definition at line 305 of file shdocvw_main.c.

306{
307 FIXME("(%u), stub!\n", arg);
308 return 0;
309}

◆ SHDOCVW_LoadShell32()

static BOOL SHDOCVW_LoadShell32 ( void  )
static

Definition at line 235 of file shdocvw_main.c.

236{
238 return TRUE;
239 return ((SHDOCVW_hshell32 = LoadLibraryA("shell32.dll")) != NULL);
240}
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111

Referenced by ShellDDEInit().

◆ ShellDDEInit()

BOOL WINAPI ShellDDEInit ( BOOL  start)

Definition at line 262 of file shdocvw_main.c.

263{
264 TRACE("(%d)\n", start);
265
266 if (!pShellDDEInit)
267 {
268 if (!SHDOCVW_LoadShell32())
269 return FALSE;
270 pShellDDEInit = (void *)GetProcAddress(SHDOCVW_hshell32, (LPCSTR)188);
271 }
272
273 if (pShellDDEInit)
274 return pShellDDEInit(start);
275 else
276 return FALSE;
277}
GLuint start
Definition: gl.h:1545
static BOOL SHDOCVW_LoadShell32(void)
Definition: shdocvw_main.c:235
const char * LPCSTR
Definition: xmlstorage.h:183

◆ SHRestricted2A()

DWORD WINAPI SHRestricted2A ( DWORD  restriction,
LPCSTR  url,
DWORD  reserved 
)

Definition at line 527 of file shdocvw_main.c.

528{
529 LPWSTR urlW = NULL;
530 DWORD res;
531
532 TRACE("(%d, %s, %d)\n", restriction, debugstr_a(url), reserved);
533 if (url) {
535 urlW = heap_alloc(len * sizeof(WCHAR));
536 MultiByteToWideChar(CP_ACP, 0, url, -1, urlW, len);
537 }
538 res = SHRestricted2W(restriction, urlW, reserved);
539 heap_free(urlW);
540 return res;
541}
r reserved
Definition: btrfs.c:3006
DWORD WINAPI SHRestricted2W(DWORD res, LPCWSTR url, DWORD reserved)
Definition: shdocvw_main.c:516

◆ SHRestricted2W()

DWORD WINAPI SHRestricted2W ( DWORD  res,
LPCWSTR  url,
DWORD  reserved 
)

Definition at line 516 of file shdocvw_main.c.

517{
518 FIXME("(%d %s %d) stub\n", res, debugstr_w(url), reserved);
519 return 0;
520}

Referenced by SHRestricted2A().

◆ StopWatchAFORWARD()

DWORD WINAPI StopWatchAFORWARD ( DWORD  dwClass,
LPCSTR  lpszStr,
DWORD  dwUnknown,
DWORD  dwMode,
DWORD  dwTimeStamp 
)

Definition at line 358 of file shdocvw_main.c.

360{
361 static DWORD (WINAPI *p)(DWORD, LPCSTR, DWORD, DWORD, DWORD);
362
363 if (p || (p = fetch_shlwapi_ordinal(243)))
364 return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
366}
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:102
GLfloat GLfloat p
Definition: glext.h:8902
static void * fetch_shlwapi_ordinal(UINT_PTR ord)
Definition: shdocvw_main.c:315

◆ StopWatchFlushFORWARD()

void WINAPI StopWatchFlushFORWARD ( void  )

Definition at line 348 of file shdocvw_main.c.

349{
350 static void (WINAPI *p)(void);
351
352 if (p || (p = fetch_shlwapi_ordinal(242))) p();
353}

◆ StopWatchModeFORWARD()

void WINAPI StopWatchModeFORWARD ( void  )

Definition at line 338 of file shdocvw_main.c.

339{
340 static void (WINAPI *p)(void);
341
342 if (p || (p = fetch_shlwapi_ordinal(241))) p();
343}

◆ StopWatchWFORWARD()

DWORD WINAPI StopWatchWFORWARD ( DWORD  dwClass,
LPCWSTR  lpszStr,
DWORD  dwUnknown,
DWORD  dwMode,
DWORD  dwTimeStamp 
)

Definition at line 371 of file shdocvw_main.c.

373{
374 static DWORD (WINAPI *p)(DWORD, LPCWSTR, DWORD, DWORD, DWORD);
375
376 if (p || (p = fetch_shlwapi_ordinal(244)))
377 return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
379}

◆ URLSubRegQueryA()

HRESULT WINAPI URLSubRegQueryA ( LPCSTR  regpath,
LPCSTR  name,
DWORD  type,
LPSTR  out,
DWORD  outlen,
DWORD  unknown 
)

Definition at line 384 of file shdocvw_main.c.

386{
388 DWORD len;
389 LONG res;
390
391 TRACE("(%s, %s, %d, %p, %d, %d)\n", debugstr_a(regpath), debugstr_a(name),
392 type, out, outlen, unknown);
393
394 if (!out) return S_OK;
395
396 len = sizeof(buffer);
397 res = SHRegGetUSValueA(regpath, name, NULL, buffer, &len, FALSE, NULL, 0);
398 if (!res) {
399 lstrcpynA(out, buffer, outlen);
400 return S_OK;
401 }
402
403 return E_FAIL;
404}
#define lstrcpynA
Definition: compat.h:751
LONG WINAPI SHRegGetUSValueA(LPCSTR pSubKey, LPCSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData, BOOL flagIgnoreHKCU, LPVOID pDefaultData, DWORD wDefaultDataSize)
Definition: reg.c:561
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
long LONG
Definition: pedump.c:60
Definition: name.c:39
char CHAR
Definition: xmlstorage.h:175

◆ WhichPlatformFORWARD()

DWORD WINAPI WhichPlatformFORWARD ( void  )

Definition at line 327 of file shdocvw_main.c.

328{
329 static DWORD (WINAPI *p)(void);
330
331 if (p || (p = fetch_shlwapi_ordinal(276))) return p();
332 return 1; /* not integrated, see shlwapi.WhichPlatform */
333}

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shdocvw  )

◆ WinList_Init()

DWORD WINAPI WinList_Init ( void  )

Definition at line 248 of file shdocvw_main.c.

249{
250 FIXME("(), stub!\n");
251 return 0x0deadfeed;
252}

Variable Documentation

◆ ieframe_instance

HINSTANCE ieframe_instance
static

Definition at line 47 of file shdocvw_main.c.

Referenced by DllMain(), get_ieframe_instance(), and get_ieframe_object().

◆ SHDOCVW_hshell32

HMODULE SHDOCVW_hshell32 = 0
static

Definition at line 46 of file shdocvw_main.c.

Referenced by DllMain(), SHDOCVW_LoadShell32(), and ShellDDEInit().

◆ SHDOCVW_refCount