ReactOS 0.4.15-dev-6049-ge54b32b
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 164 of file shdocvw_main.c.

165{
166 return SHDOCVW_refCount ? S_FALSE : S_OK;
167}
#define S_OK
Definition: intsafe.h:52
LONG SHDOCVW_refCount
Definition: shdocvw_main.c:42
#define S_FALSE
Definition: winerror.h:2357

◆ DllGetClassObject()

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

Definition at line 79 of file shdocvw_main.c.

80{
81 TRACE("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
82
83 if(IsEqualGUID(&CLSID_WebBrowser, rclsid)
84 || IsEqualGUID(&CLSID_WebBrowser_V1, rclsid)
85 || IsEqualGUID(&CLSID_InternetShortcut, rclsid)
86 || IsEqualGUID(&CLSID_CUrlHistory, rclsid)
87 || IsEqualGUID(&CLSID_TaskbarList, rclsid))
88 return get_ieframe_object(rclsid, riid, ppv);
89
90 /* As a last resort, figure if the CLSID belongs to a 'Shell Instance Object' */
92}
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
#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:57
#define TRACE(s)
Definition: solgame.cpp:4

◆ DllGetVersion()

HRESULT WINAPI DllGetVersion ( DLLVERSIONINFO info)

Definition at line 172 of file shdocvw_main.c.

173{
174 if (info->cbSize != sizeof(DLLVERSIONINFO)) FIXME("support DLLVERSIONINFO2\n");
175
176 /* this is what IE6 on Windows 98 reports */
177 info->dwMajorVersion = 6;
178 info->dwMinorVersion = 0;
179 info->dwBuildNumber = 2600;
180 info->dwPlatformID = DLLVER_PLATFORM_WINDOWS;
181
182 return NOERROR;
183}
#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 188 of file shdocvw_main.c.

189{
190 FIXME("(%s, %s): stub!\n", bInstall ? "TRUE":"FALSE", debugstr_w(cmdline));
191
192 return S_OK;
193}
#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 144 of file shdocvw_main.c.

145{
146 TRACE("%p 0x%x %p\n", hinst, fdwReason, fImpLoad);
147 switch (fdwReason)
148 {
151 break;
153 if (fImpLoad) break;
156 break;
157 }
158 return TRUE;
159}
DWORD LPVOID fImpLoad
Definition: misc.cpp:155
#define TRUE
Definition: types.h:120
#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:45
static HMODULE SHDOCVW_hshell32
Definition: shdocvw_main.c:44

◆ DllRegisterServer()

HRESULT WINAPI DllRegisterServer ( void  )

Definition at line 97 of file shdocvw_main.c.

98{
99 TRACE("\n");
100 return S_OK;
101}

◆ DllUnregisterServer()

HRESULT WINAPI DllUnregisterServer ( void  )

Definition at line 106 of file shdocvw_main.c.

107{
108 TRACE("\n");
109 return S_OK;
110}

◆ DoFileDownload()

BOOL WINAPI DoFileDownload ( LPWSTR  filename)

Definition at line 560 of file shdocvw_main.c.

561{
562 FIXME("(%s) stub\n", debugstr_w(filename));
563 return FALSE;
564}
#define FALSE
Definition: types.h:117
const char * filename
Definition: ioapi.h:137

◆ DoOrganizeFavDlg()

BOOL WINAPI DoOrganizeFavDlg ( HWND  hwnd,
LPCSTR  initDir 
)

Definition at line 578 of file shdocvw_main.c.

579{
580 LPWSTR initDirW = NULL;
581 BOOL res;
582
583 TRACE("(%p %s)\n", hwnd, debugstr_a(initDir));
584
585 if (initDir) {
586 DWORD len = MultiByteToWideChar(CP_ACP, 0, initDir, -1, NULL, 0);
587 initDirW = heap_alloc(len * sizeof(WCHAR));
588 MultiByteToWideChar(CP_ACP, 0, initDir, -1, initDirW, len);
589 }
590 res = DoOrganizeFavDlgW(hwnd, initDirW);
591 heap_free(initDirW);
592 return res;
593}
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
static BOOL heap_free(void *mem)
Definition: appwiz.h:75
#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:569
_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 569 of file shdocvw_main.c.

570{
571 FIXME("(%p %s) stub\n", hwnd, debugstr_w(initDir));
572 return FALSE;
573}

Referenced by DoOrganizeFavDlg().

◆ fetch_shlwapi_ordinal()

static void * fetch_shlwapi_ordinal ( UINT_PTR  ord)
static

Definition at line 280 of file shdocvw_main.c.

281{
282 static const WCHAR shlwapiW[] = {'s','h','l','w','a','p','i','.','d','l','l','\0'};
283 static HANDLE h;
284
285 if (!h && !(h = GetModuleHandleW(shlwapiW))) return NULL;
286 return (void*)GetProcAddress(h, (const char*)ord);
287}
#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 47 of file shdocvw_main.c.

48{
49 static const WCHAR ieframe_dllW[] = {'i','e','f','r','a','m','e','.','d','l','l',0};
50
52 ieframe_instance = LoadLibraryW(ieframe_dllW);
53
54 return ieframe_instance;
55}
#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 57 of file shdocvw_main.c.

58{
60
61 static HRESULT (WINAPI *ieframe_DllGetClassObject)(REFCLSID,REFIID,void**);
62
63 if(!ieframe_DllGetClassObject) {
67
68 ieframe_DllGetClassObject = (void*)GetProcAddress(ieframe_instance, "DllGetClassObject");
69 if(!ieframe_DllGetClassObject)
71 }
72
73 return ieframe_DllGetClassObject(rclsid, riid, ppv);
74}
#define REFIID
Definition: guiddef.h:118
#define REFCLSID
Definition: guiddef.h:117
static HINSTANCE get_ieframe_instance(void)
Definition: shdocvw_main.c:47
#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 471 of file shdocvw_main.c.

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

Referenced by CDesktopFolder::ParseDisplayName().

◆ IEWinMain()

DWORD WINAPI IEWinMain ( LPSTR  szCommandLine,
int  nShowWindow 
)

Definition at line 117 of file shdocvw_main.c.

118{
119 DWORD (WINAPI *pIEWinMain)(const WCHAR*,int);
120 WCHAR *cmdline;
121 DWORD ret, len;
122
123 TRACE("%s %d\n", debugstr_a(szCommandLine), nShowWindow);
124
125 pIEWinMain = (void*)GetProcAddress(get_ieframe_instance(), MAKEINTRESOURCEA(101));
126 if(!pIEWinMain)
127 ExitProcess(1);
128
129 len = MultiByteToWideChar(CP_ACP, 0, szCommandLine, -1, NULL, 0);
130 cmdline = heap_alloc(len*sizeof(WCHAR));
131 if(!cmdline)
132 ExitProcess(1);
133 MultiByteToWideChar(CP_ACP, 0, szCommandLine, -1, cmdline, len);
134
135 ret = pIEWinMain(cmdline, nShowWindow);
136
138 return ret;
139}
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 528 of file shdocvw_main.c.

529{
530 FIXME("(%s, %p->%d, %p->%d): stub\n", debugstr_w(filename),
531 pGlobalPrefs, pGlobalPrefs ? *pGlobalPrefs : 0,
532 pPerSitePrefs, pPerSitePrefs ? *pPerSitePrefs : 0);
533
534 if (pGlobalPrefs) *pGlobalPrefs = FALSE;
535 if (pPerSitePrefs) *pPerSitePrefs = FALSE;
536
537 return TRUE;
538}

◆ InstallReg_RunDLL()

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

Definition at line 552 of file shdocvw_main.c.

553{
554 FIXME("(%p %p %s %x)\n", hwnd, handle, debugstr_a(cmdline), show);
555}

◆ ParseURLFromOutsideSourceA()

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

Definition at line 429 of file shdocvw_main.c.

430{
432 LPWSTR urlW = NULL;
433 DWORD needed;
434 DWORD res;
435 DWORD len;
436
437 TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_a(url), out, plen, unknown,
438 plen ? *plen : 0, unknown ? *unknown : 0);
439
440 if (url) {
441 len = MultiByteToWideChar(CP_ACP, 0, url, -1, NULL, 0);
442 urlW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
443 MultiByteToWideChar(CP_ACP, 0, url, -1, urlW, len);
444 }
445
448 HeapFree(GetProcessHeap(), 0, urlW);
449
450 needed = WideCharToMultiByte(CP_ACP, 0, buffer, -1, NULL, 0, NULL, NULL);
451
452 res = 0;
453 if (*plen >= needed) {
454 if (out != NULL) {
455 WideCharToMultiByte(CP_ACP, 0, buffer, -1, out, *plen, NULL, NULL);
456 /* On success, string size including terminating 0 is returned for ansi version */
457 res = needed;
458 }
459 needed--;
460 }
461
462 *plen = needed;
463
464 TRACE("=> %d\n", res);
465 return res;
466}
#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:374

◆ ParseURLFromOutsideSourceW()

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

Definition at line 374 of file shdocvw_main.c.

375{
377 WCHAR buffer_out[INTERNET_MAX_URL_LENGTH];
378 LPCWSTR ptr = url;
379 HRESULT hr;
380 DWORD needed;
381 DWORD len;
382 DWORD res;
383
384 TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_w(url), out, plen, unknown,
385 plen ? *plen : 0, unknown ? *unknown : 0);
386
387 if (!PathIsURLW(ptr)) {
388 len = ARRAY_SIZE(buffer_in);
389 buffer_in[0] = 0;
391 TRACE("got 0x%x with %s\n", hr, debugstr_w(buffer_in));
392 if (hr == S_OK) {
393 /* we parsed the url to buffer_in */
394 ptr = buffer_in;
395 }
396 else
397 {
398 FIXME("call search hook for %s\n", debugstr_w(ptr));
399 }
400 }
401
402 len = ARRAY_SIZE(buffer_out);
403 buffer_out[0] = '\0';
405 needed = lstrlenW(buffer_out)+1;
406 TRACE("got 0x%x with %s (need %d)\n", hr, debugstr_w(buffer_out), needed);
407
408 res = 0;
409 if (*plen >= needed) {
410 if (out != NULL) {
411 lstrcpyW(out, buffer_out);
412 /* On success, 1 is returned for unicode version */
413 res = 1;
414 }
415 needed--;
416 }
417
418 *plen = needed;
419
420 TRACE("=> %d\n", res);
421 return res;
422}
#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 543 of file shdocvw_main.c.

544{
545 FIXME("(%p) stub\n", hwnd);
546 return E_NOTIMPL;
547}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ RunInstallUninstallStubs()

DWORD WINAPI RunInstallUninstallStubs ( void  )

Definition at line 250 of file shdocvw_main.c.

251{
252 FIXME("(), stub!\n");
253 return 0x0deadbee;
254}

◆ RunInstallUninstallStubs2()

DWORD WINAPI RunInstallUninstallStubs2 ( int  arg)

Definition at line 261 of file shdocvw_main.c.

262{
263 FIXME("(%d), stub!\n", arg);
264 return 0x0deadbee;
265}

◆ SetQueryNetSessionCount()

DWORD WINAPI SetQueryNetSessionCount ( DWORD  arg)

Definition at line 270 of file shdocvw_main.c.

271{
272 FIXME("(%u), stub!\n", arg);
273 return 0;
274}

◆ SHDOCVW_LoadShell32()

static BOOL SHDOCVW_LoadShell32 ( void  )
static

Definition at line 200 of file shdocvw_main.c.

201{
203 return TRUE;
204 return ((SHDOCVW_hshell32 = LoadLibraryA("shell32.dll")) != NULL);
205}
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111

Referenced by ShellDDEInit().

◆ ShellDDEInit()

BOOL WINAPI ShellDDEInit ( BOOL  start)

Definition at line 227 of file shdocvw_main.c.

228{
229 TRACE("(%d)\n", start);
230
231 if (!pShellDDEInit)
232 {
233 if (!SHDOCVW_LoadShell32())
234 return FALSE;
235 pShellDDEInit = (void *)GetProcAddress(SHDOCVW_hshell32, (LPCSTR)188);
236 }
237
238 if (pShellDDEInit)
239 return pShellDDEInit(start);
240 else
241 return FALSE;
242}
GLuint start
Definition: gl.h:1545
static BOOL SHDOCVW_LoadShell32(void)
Definition: shdocvw_main.c:200
const char * LPCSTR
Definition: xmlstorage.h:183

◆ SHRestricted2A()

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

Definition at line 492 of file shdocvw_main.c.

493{
494 LPWSTR urlW = NULL;
495 DWORD res;
496
497 TRACE("(%d, %s, %d)\n", restriction, debugstr_a(url), reserved);
498 if (url) {
500 urlW = heap_alloc(len * sizeof(WCHAR));
501 MultiByteToWideChar(CP_ACP, 0, url, -1, urlW, len);
502 }
503 res = SHRestricted2W(restriction, urlW, reserved);
504 heap_free(urlW);
505 return res;
506}
r reserved
Definition: btrfs.c:3006
DWORD WINAPI SHRestricted2W(DWORD res, LPCWSTR url, DWORD reserved)
Definition: shdocvw_main.c:481

◆ SHRestricted2W()

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

Definition at line 481 of file shdocvw_main.c.

482{
483 FIXME("(%d %s %d) stub\n", res, debugstr_w(url), reserved);
484 return 0;
485}

Referenced by SHRestricted2A().

◆ StopWatchAFORWARD()

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

Definition at line 323 of file shdocvw_main.c.

325{
326 static DWORD (WINAPI *p)(DWORD, LPCSTR, DWORD, DWORD, DWORD);
327
328 if (p || (p = fetch_shlwapi_ordinal(243)))
329 return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
331}
#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:280

◆ StopWatchFlushFORWARD()

void WINAPI StopWatchFlushFORWARD ( void  )

Definition at line 313 of file shdocvw_main.c.

314{
315 static void (WINAPI *p)(void);
316
317 if (p || (p = fetch_shlwapi_ordinal(242))) p();
318}

◆ StopWatchModeFORWARD()

void WINAPI StopWatchModeFORWARD ( void  )

Definition at line 303 of file shdocvw_main.c.

304{
305 static void (WINAPI *p)(void);
306
307 if (p || (p = fetch_shlwapi_ordinal(241))) p();
308}

◆ StopWatchWFORWARD()

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

Definition at line 336 of file shdocvw_main.c.

338{
339 static DWORD (WINAPI *p)(DWORD, LPCWSTR, DWORD, DWORD, DWORD);
340
341 if (p || (p = fetch_shlwapi_ordinal(244)))
342 return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
344}

◆ URLSubRegQueryA()

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

Definition at line 349 of file shdocvw_main.c.

351{
353 DWORD len;
354 LONG res;
355
356 TRACE("(%s, %s, %d, %p, %d, %d)\n", debugstr_a(regpath), debugstr_a(name),
357 type, out, outlen, unknown);
358
359 if (!out) return S_OK;
360
361 len = sizeof(buffer);
362 res = SHRegGetUSValueA(regpath, name, NULL, buffer, &len, FALSE, NULL, 0);
363 if (!res) {
364 lstrcpynA(out, buffer, outlen);
365 return S_OK;
366 }
367
368 return E_FAIL;
369}
#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 292 of file shdocvw_main.c.

293{
294 static DWORD (WINAPI *p)(void);
295
296 if (p || (p = fetch_shlwapi_ordinal(276))) return p();
297 return 1; /* not integrated, see shlwapi.WhichPlatform */
298}

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( shdocvw  )

◆ WinList_Init()

DWORD WINAPI WinList_Init ( void  )

Definition at line 213 of file shdocvw_main.c.

214{
215 FIXME("(), stub!\n");
216 return 0x0deadfeed;
217}

Variable Documentation

◆ ieframe_instance

HINSTANCE ieframe_instance
static

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

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

◆ SHDOCVW_refCount

LONG SHDOCVW_refCount = 0

Definition at line 42 of file shdocvw_main.c.

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