ReactOS 0.4.16-dev-823-g9a093ec
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 192 of file shdocvw_main.c.

193{
194#ifdef __REACTOS__
196 return S_FALSE;
197#endif
198 return SHDOCVW_refCount ? S_FALSE : S_OK;
199}
#define S_OK
Definition: intsafe.h:52
EXTERN_C HRESULT SHDOCVW_DllCanUnloadNow(VOID)
Definition: objects.cpp:47
LONG SHDOCVW_refCount
Definition: shdocvw_main.c:45
#define S_FALSE
Definition: winerror.h:2357

◆ DllGetClassObject()

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

Definition at line 85 of file shdocvw_main.c.

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 {
99 if (SUCCEEDED(hr))
100 return hr;
101 }
102#endif
103
104 /* As a last resort, figure if the CLSID belongs to a 'Shell Instance Object' */
106}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define debugstr_guid
Definition: kernel32.h:35
EXTERN_C HRESULT SHDOCVW_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
Definition: objects.cpp:57
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
HRESULT SHDOCVW_GetShellInstanceObjectClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppvClassObj) DECLSPEC_HIDDEN
Definition: shlinstobj.c:365
static HRESULT get_ieframe_object(REFCLSID rclsid, REFIID riid, void **ppv)
Definition: shdocvw_main.c:63
HRESULT hr
Definition: shlfolder.c:183
#define TRACE(s)
Definition: solgame.cpp:4

◆ DllGetVersion()

HRESULT WINAPI DllGetVersion ( DLLVERSIONINFO info)

Definition at line 204 of file shdocvw_main.c.

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

◆ DllInstall()

HRESULT WINAPI DllInstall ( BOOL  bInstall,
LPCWSTR  cmdline 
)

Definition at line 220 of file shdocvw_main.c.

221{
222 FIXME("(%s, %s): stub!\n", bInstall ? "TRUE":"FALSE", debugstr_w(cmdline));
223
224 return S_OK;
225}
#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 168 of file shdocvw_main.c.

169{
170 TRACE("%p 0x%x %p\n", hinst, fdwReason, fImpLoad);
171 switch (fdwReason)
172 {
174#ifdef __REACTOS__
175 instance = hinst;
177#endif
179 break;
181 if (fImpLoad) break;
184 break;
185 }
186 return TRUE;
187}
static DWORD const fdwReason
DWORD LPVOID fImpLoad
Definition: misc.cpp:136
#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
EXTERN_C VOID SHDOCVW_Init(HINSTANCE hInstance)
Definition: objects.cpp:41
static HINSTANCE ieframe_instance
Definition: shdocvw_main.c:48
static HMODULE SHDOCVW_hshell32
Definition: shdocvw_main.c:47

◆ DllRegisterServer()

HRESULT WINAPI DllRegisterServer ( void  )

Definition at line 111 of file shdocvw_main.c.

112{
113 TRACE("\n");
114#ifdef __REACTOS__
117#else
118 return S_OK;
119#endif
120}
EXTERN_C HRESULT SHDOCVW_DllRegisterServer(VOID)
Definition: objects.cpp:84
HRESULT __wine_register_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:98

◆ DllUnregisterServer()

HRESULT WINAPI DllUnregisterServer ( void  )

Definition at line 125 of file shdocvw_main.c.

126{
127 TRACE("\n");
128#ifdef __REACTOS__
131#else
132 return S_OK;
133#endif
134}
EXTERN_C HRESULT SHDOCVW_DllUnregisterServer(VOID)
Definition: objects.cpp:90
HRESULT __wine_unregister_resources(HMODULE module) DECLSPEC_HIDDEN
Definition: register.c:110

◆ DoFileDownload()

BOOL WINAPI DoFileDownload ( LPWSTR  filename)

Definition at line 594 of file shdocvw_main.c.

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

◆ DoOrganizeFavDlg()

BOOL WINAPI DoOrganizeFavDlg ( HWND  hwnd,
LPCSTR  initDir 
)

Definition at line 612 of file shdocvw_main.c.

613{
614 LPWSTR initDirW = NULL;
615 BOOL res;
616
617 TRACE("(%p %s)\n", hwnd, debugstr_a(initDir));
618
619 if (initDir) {
620 DWORD len = MultiByteToWideChar(CP_ACP, 0, initDir, -1, NULL, 0);
621 initDirW = heap_alloc(len * sizeof(WCHAR));
622 MultiByteToWideChar(CP_ACP, 0, initDir, -1, initDirW, len);
623 }
624 res = DoOrganizeFavDlgW(hwnd, initDirW);
625 heap_free(initDirW);
626 return res;
627}
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:603
_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 603 of file shdocvw_main.c.

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

Referenced by DoOrganizeFavDlg().

◆ fetch_shlwapi_ordinal()

static void * fetch_shlwapi_ordinal ( UINT_PTR  ord)
static

Definition at line 314 of file shdocvw_main.c.

315{
316 static const WCHAR shlwapiW[] = {'s','h','l','w','a','p','i','.','d','l','l','\0'};
317 static HANDLE h;
318
319 if (!h && !(h = GetModuleHandleW(shlwapiW))) return NULL;
320 return (void*)GetProcAddress(h, (const char*)ord);
321}
#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 53 of file shdocvw_main.c.

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}
#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 63 of file shdocvw_main.c.

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}
#define REFIID
Definition: guiddef.h:118
#define REFCLSID
Definition: guiddef.h:117
static HINSTANCE get_ieframe_instance(void)
Definition: shdocvw_main.c:53
#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 505 of file shdocvw_main.c.

506{
507 /* Guessing at parameter 3 based on IShellFolder's ParseDisplayName */
508 FIXME("stub: 0x%x %s %p %p\n",codepage,debugstr_w(lpszDisplayName),pbc,ppidl);
509 return E_FAIL;
510}
#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 141 of file shdocvw_main.c.

142{
143 DWORD (WINAPI *pIEWinMain)(const WCHAR*,int);
144 WCHAR *cmdline;
145 DWORD ret, len;
146
147 TRACE("%s %d\n", debugstr_a(szCommandLine), nShowWindow);
148
149 pIEWinMain = (void*)GetProcAddress(get_ieframe_instance(), MAKEINTRESOURCEA(101));
150 if(!pIEWinMain)
151 ExitProcess(1);
152
153 len = MultiByteToWideChar(CP_ACP, 0, szCommandLine, -1, NULL, 0);
154 cmdline = heap_alloc(len*sizeof(WCHAR));
155 if(!cmdline)
156 ExitProcess(1);
157 MultiByteToWideChar(CP_ACP, 0, szCommandLine, -1, cmdline, len);
158
159 ret = pIEWinMain(cmdline, nShowWindow);
160
162 return ret;
163}
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 562 of file shdocvw_main.c.

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

◆ InstallReg_RunDLL()

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

Definition at line 586 of file shdocvw_main.c.

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

◆ ParseURLFromOutsideSourceA()

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

Definition at line 463 of file shdocvw_main.c.

464{
466 LPWSTR urlW = NULL;
467 DWORD needed;
468 DWORD res;
469 DWORD len;
470
471 TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_a(url), out, plen, unknown,
472 plen ? *plen : 0, unknown ? *unknown : 0);
473
474 if (url) {
475 len = MultiByteToWideChar(CP_ACP, 0, url, -1, NULL, 0);
476 urlW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
477 MultiByteToWideChar(CP_ACP, 0, url, -1, urlW, len);
478 }
479
482 HeapFree(GetProcessHeap(), 0, urlW);
483
484 needed = WideCharToMultiByte(CP_ACP, 0, buffer, -1, NULL, 0, NULL, NULL);
485
486 res = 0;
487 if (*plen >= needed) {
488 if (out != NULL) {
489 WideCharToMultiByte(CP_ACP, 0, buffer, -1, out, *plen, NULL, NULL);
490 /* On success, string size including terminating 0 is returned for ansi version */
491 res = needed;
492 }
493 needed--;
494 }
495
496 *plen = needed;
497
498 TRACE("=> %d\n", res);
499 return res;
500}
#define ARRAY_SIZE(A)
Definition: main.h:20
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
DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, LPDWORD unknown)
Definition: shdocvw_main.c:408
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383

◆ ParseURLFromOutsideSourceW()

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

Definition at line 408 of file shdocvw_main.c.

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

Referenced by ParseURLFromOutsideSourceA().

◆ ResetProfileSharing()

HRESULT WINAPI ResetProfileSharing ( HWND  hwnd)

Definition at line 577 of file shdocvw_main.c.

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

◆ RunInstallUninstallStubs()

DWORD WINAPI RunInstallUninstallStubs ( void  )

Definition at line 284 of file shdocvw_main.c.

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

◆ RunInstallUninstallStubs2()

DWORD WINAPI RunInstallUninstallStubs2 ( int  arg)

Definition at line 295 of file shdocvw_main.c.

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

◆ SetQueryNetSessionCount()

DWORD WINAPI SetQueryNetSessionCount ( DWORD  arg)

Definition at line 304 of file shdocvw_main.c.

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

◆ SHDOCVW_LoadShell32()

static BOOL SHDOCVW_LoadShell32 ( void  )
static

Definition at line 232 of file shdocvw_main.c.

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

Referenced by ShellDDEInit().

◆ ShellDDEInit()

BOOL WINAPI ShellDDEInit ( BOOL  start)

Definition at line 261 of file shdocvw_main.c.

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

◆ SHRestricted2A()

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

Definition at line 526 of file shdocvw_main.c.

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

◆ SHRestricted2W()

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

Definition at line 515 of file shdocvw_main.c.

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

Referenced by SHRestricted2A().

◆ StopWatchAFORWARD()

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

Definition at line 357 of file shdocvw_main.c.

359{
360 static DWORD (WINAPI *p)(DWORD, LPCSTR, DWORD, DWORD, DWORD);
361
362 if (p || (p = fetch_shlwapi_ordinal(243)))
363 return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
365}
#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:314

◆ StopWatchFlushFORWARD()

void WINAPI StopWatchFlushFORWARD ( void  )

Definition at line 347 of file shdocvw_main.c.

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

◆ StopWatchModeFORWARD()

void WINAPI StopWatchModeFORWARD ( void  )

Definition at line 337 of file shdocvw_main.c.

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

◆ StopWatchWFORWARD()

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

Definition at line 370 of file shdocvw_main.c.

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

◆ URLSubRegQueryA()

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

Definition at line 383 of file shdocvw_main.c.

385{
387 DWORD len;
388 LONG res;
389
390 TRACE("(%s, %s, %d, %p, %d, %d)\n", debugstr_a(regpath), debugstr_a(name),
391 type, out, outlen, unknown);
392
393 if (!out) return S_OK;
394
395 len = sizeof(buffer);
396 res = SHRegGetUSValueA(regpath, name, NULL, buffer, &len, FALSE, NULL, 0);
397 if (!res) {
398 lstrcpynA(out, buffer, outlen);
399 return S_OK;
400 }
401
402 return E_FAIL;
403}
#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 326 of file shdocvw_main.c.

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

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shdocvw  )

◆ WinList_Init()

DWORD WINAPI WinList_Init ( void  )

Definition at line 246 of file shdocvw_main.c.

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

Variable Documentation

◆ ieframe_instance

HINSTANCE ieframe_instance
static

Definition at line 48 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 47 of file shdocvw_main.c.

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

◆ SHDOCVW_refCount

LONG SHDOCVW_refCount = 0

Definition at line 45 of file shdocvw_main.c.

Referenced by DllCanUnloadNow(), SHDOCVW_LockModule(), and SHDOCVW_UnlockModule().