ReactOS  0.4.13-dev-39-g8b6696f
shdocvw_main.c File Reference
#include "config.h"
#include <stdarg.h>
#include <stdio.h>
#include "wine/unicode.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_FALSE
Definition: winerror.h:2357
LONG SHDOCVW_refCount
Definition: shdocvw_main.c:42
#define S_OK
Definition: intsafe.h:59

◆ 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: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
static HRESULT get_ieframe_object(REFCLSID rclsid, REFIID riid, void **ppv)
Definition: shdocvw_main.c:57
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4021
HRESULT SHDOCVW_GetShellInstanceObjectClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppvClassObj) DECLSPEC_HIDDEN
Definition: shlinstobj.c:358

◆ 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 NOERROR
Definition: winerror.h:2354
#define FIXME(fmt,...)
Definition: debug.h:110
#define DLLVER_PLATFORM_WINDOWS
Definition: shlwapi.h:1961

◆ 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 }
TCHAR * cmdline
Definition: stretchblt.cpp:32
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define S_OK
Definition: intsafe.h:59

◆ 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  {
149  case DLL_PROCESS_ATTACH:
151  break;
152  case DLL_PROCESS_DETACH:
153  if (fImpLoad) break;
156  break;
157  }
158  return TRUE;
159 }
#define TRUE
Definition: types.h:120
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
static HINSTANCE ieframe_instance
Definition: shdocvw_main.c:45
#define DLL_PROCESS_ATTACH
Definition: compat.h:120
#define DLL_PROCESS_DETACH
Definition: compat.h:119
#define TRACE(s)
Definition: solgame.cpp:4
#define FreeLibrary(x)
Definition: compat.h:405
static HMODULE SHDOCVW_hshell32
Definition: shdocvw_main.c:44
DWORD LPVOID fImpLoad
Definition: misc.cpp:155
static HINSTANCE hinst
Definition: edit.c:551

◆ DllRegisterServer()

HRESULT WINAPI DllRegisterServer ( void  )

Definition at line 97 of file shdocvw_main.c.

98 {
99  TRACE("\n");
100  return S_OK;
101 }
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ DllUnregisterServer()

HRESULT WINAPI DllUnregisterServer ( void  )

Definition at line 106 of file shdocvw_main.c.

107 {
108  TRACE("\n");
109  return S_OK;
110 }
#define TRACE(s)
Definition: solgame.cpp:4
#define S_OK
Definition: intsafe.h:59

◆ 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 }
const char * filename
Definition: ioapi.h:135
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110

◆ 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 }
BOOL WINAPI DoOrganizeFavDlgW(HWND hwnd, LPCWSTR initDir)
Definition: shdocvw_main.c:569
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define CP_ACP
Definition: compat.h:99
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
unsigned int BOOL
Definition: ntddk_ex.h:94
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
#define MultiByteToWideChar
Definition: compat.h:100
GLuint res
Definition: glext.h:9613
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ 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 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110

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 }
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
smooth NULL
Definition: ftsmooth.c:416
__wchar_t WCHAR
Definition: xmlstorage.h:180
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:845
#define GetProcAddress(x, y)
Definition: compat.h:410

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 
51  if(!ieframe_instance)
52  ieframe_instance = LoadLibraryW(ieframe_dllW);
53 
54  return ieframe_instance;
55 }
static HINSTANCE ieframe_instance
Definition: shdocvw_main.c:45
#define LoadLibraryW(x)
Definition: compat.h:404
__wchar_t WCHAR
Definition: xmlstorage.h:180

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) {
65  if(!ieframe_instance)
67 
68  ieframe_DllGetClassObject = (void*)GetProcAddress(ieframe_instance, "DllGetClassObject");
69  if(!ieframe_DllGetClassObject)
71  }
72 
73  return ieframe_DllGetClassObject(rclsid, riid, ppv);
74 }
#define HRESULT
Definition: msvc.h:9
#define REFIID
Definition: guiddef.h:113
REFIID riid
Definition: precomp.h:44
#define REFCLSID
Definition: guiddef.h:112
REFIID LPVOID * ppv
Definition: atlbase.h:39
static HINSTANCE ieframe_instance
Definition: shdocvw_main.c:45
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:2663
#define WINAPI
Definition: msvc.h:8
static HINSTANCE get_ieframe_instance(void)
Definition: shdocvw_main.c:47
#define GetProcAddress(x, y)
Definition: compat.h:410

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
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
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 }
#define CP_ACP
Definition: compat.h:99
VOID WINAPI ExitProcess(IN UINT uExitCode)
Definition: proc.c:1517
#define MAKEINTRESOURCEA(i)
Definition: winuser.h:581
TCHAR * cmdline
Definition: stretchblt.cpp:32
#define DWORD
Definition: nt_native.h:44
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
#define WINAPI
Definition: msvc.h:8
unsigned long DWORD
Definition: ntddk_ex.h:95
static HINSTANCE get_ieframe_instance(void)
Definition: shdocvw_main.c:47
int ret
GLenum GLsizei len
Definition: glext.h:6722
#define MultiByteToWideChar
Definition: compat.h:100
#define GetProcAddress(x, y)
Definition: compat.h:410
static BOOL heap_free(void *mem)
Definition: appwiz.h:75
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31

◆ 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 }
#define TRUE
Definition: types.h:120
const char * filename
Definition: ioapi.h:135
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110

◆ 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 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
TCHAR * cmdline
Definition: stretchblt.cpp:32
#define FIXME(fmt,...)
Definition: debug.h:110
#define debugstr_a
Definition: kernel32.h:31

◆ 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 
446  len = ARRAY_SIZE(buffer);
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 WideCharToMultiByte
Definition: compat.h:101
#define CP_ACP
Definition: compat.h:99
GLuint buffer
Definition: glext.h:5915
smooth NULL
Definition: ftsmooth.c:416
#define INTERNET_MAX_URL_LENGTH
Definition: session.c:1380
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
static const WCHAR url[]
Definition: encode.c:1432
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
Definition: id3.c:18
GLenum GLsizei len
Definition: glext.h:6722
#define ARRAY_SIZE(a)
Definition: main.h:24
#define MultiByteToWideChar
Definition: compat.h:100
GLuint res
Definition: glext.h:9613
WCHAR * LPWSTR
Definition: xmlstorage.h:184
DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, LPDWORD unknown)
Definition: shdocvw_main.c:374
#define HeapFree(x, y, z)
Definition: compat.h:394

◆ ParseURLFromOutsideSourceW()

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

Definition at line 374 of file shdocvw_main.c.

375 {
376  WCHAR buffer_in[INTERNET_MAX_URL_LENGTH];
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 }
HRESULT hr
Definition: shlfolder.c:183
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define lstrlenW
Definition: compat.h:407
BOOL WINAPI PathIsURLW(LPCWSTR lpstrPath)
Definition: url.c:2432
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
static PVOID ptr
Definition: dispmode.c:27
smooth NULL
Definition: ftsmooth.c:416
#define INTERNET_MAX_URL_LENGTH
Definition: session.c:1380
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define URL_APPLY_DEFAULT
Definition: shlwapi.h:1204
LONG HRESULT
Definition: typedefs.h:77
static const WCHAR url[]
Definition: encode.c:1432
HRESULT WINAPI UrlCanonicalizeW(LPCWSTR pszUrl, LPWSTR pszCanonicalized, LPDWORD pcchCanonicalized, DWORD dwFlags)
Definition: url.c:282
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
Definition: id3.c:18
HRESULT WINAPI UrlApplySchemeW(LPCWSTR pszIn, LPWSTR pszOut, LPDWORD pcchOut, DWORD dwFlags)
Definition: url.c:1817
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
#define lstrcpyW
Definition: compat.h:406
#define ARRAY_SIZE(a)
Definition: main.h:24
#define URL_APPLY_GUESSSCHEME
Definition: shlwapi.h:1203
GLuint res
Definition: glext.h:9613
#define URL_ESCAPE_SPACES_ONLY
Definition: shlwapi.h:1216

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 }
const DOCKBAR PVOID HWND HWND * hwnd
Definition: tooldock.h:22
#define FIXME(fmt,...)
Definition: debug.h:110
#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 }
#define FIXME(fmt,...)
Definition: debug.h:110

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:110

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:110

◆ SHDOCVW_LoadShell32()

static BOOL SHDOCVW_LoadShell32 ( void  )
static

Definition at line 200 of file shdocvw_main.c.

201 {
202  if (SHDOCVW_hshell32)
203  return TRUE;
204  return ((SHDOCVW_hshell32 = LoadLibraryA("shell32.dll")) != NULL);
205 }
#define TRUE
Definition: types.h:120
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
Definition: loader.c:111
smooth NULL
Definition: ftsmooth.c:416
static HMODULE SHDOCVW_hshell32
Definition: shdocvw_main.c:44

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 }
const char * LPCSTR
Definition: xmlstorage.h:183
#define TRACE(s)
Definition: solgame.cpp:4
static HMODULE SHDOCVW_hshell32
Definition: shdocvw_main.c:44
GLuint start
Definition: gl.h:1545
static BOOL SHDOCVW_LoadShell32(void)
Definition: shdocvw_main.c:200
#define GetProcAddress(x, y)
Definition: compat.h:410

◆ 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) {
499  DWORD len = MultiByteToWideChar(CP_ACP, 0, url, -1, NULL, 0);
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 }
#define CP_ACP
Definition: compat.h:99
DWORD WINAPI SHRestricted2W(DWORD res, LPCWSTR url, DWORD reserved)
Definition: shdocvw_main.c:481
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
r reserved
Definition: btrfs.c:2655
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define debugstr_a
Definition: kernel32.h:31
static const WCHAR url[]
Definition: encode.c:1432
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
#define MultiByteToWideChar
Definition: compat.h:100
GLuint res
Definition: glext.h:9613
WCHAR * LPWSTR
Definition: xmlstorage.h:184
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ 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 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:110
r reserved
Definition: btrfs.c:2655
static const WCHAR url[]
Definition: encode.c:1432
GLuint res
Definition: glext.h:9613

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 DWORD
Definition: nt_native.h:44
static void * fetch_shlwapi_ordinal(UINT_PTR ord)
Definition: shdocvw_main.c:280
const char * LPCSTR
Definition: xmlstorage.h:183
#define WINAPI
Definition: msvc.h:8
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92
GLfloat GLfloat p
Definition: glext.h:8902

◆ 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 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
static void * fetch_shlwapi_ordinal(UINT_PTR ord)
Definition: shdocvw_main.c:280
#define WINAPI
Definition: msvc.h:8
GLfloat GLfloat p
Definition: glext.h:8902

◆ 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 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
static void * fetch_shlwapi_ordinal(UINT_PTR ord)
Definition: shdocvw_main.c:280
#define WINAPI
Definition: msvc.h:8
GLfloat GLfloat p
Definition: glext.h:8902

◆ 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 }
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define DWORD
Definition: nt_native.h:44
static void * fetch_shlwapi_ordinal(UINT_PTR ord)
Definition: shdocvw_main.c:280
#define WINAPI
Definition: msvc.h:8
#define ERROR_CALL_NOT_IMPLEMENTED
Definition: compat.h:92
GLfloat GLfloat p
Definition: glext.h:8902

◆ 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 }
LONG WINAPI SHRegGetUSValueA(LPCSTR pSubKey, LPCSTR pValue, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData, BOOL flagIgnoreHKCU, LPVOID pDefaultData, DWORD wDefaultDataSize)
Definition: reg.c:561
char CHAR
Definition: xmlstorage.h:175
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint buffer
Definition: glext.h:5915
#define E_FAIL
Definition: ddrawi.h:102
long LONG
Definition: pedump.c:60
smooth NULL
Definition: ftsmooth.c:416
#define INTERNET_MAX_URL_LENGTH
Definition: session.c:1380
#define TRACE(s)
Definition: solgame.cpp:4
#define debugstr_a
Definition: kernel32.h:31
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
Definition: id3.c:18
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:59
#define lstrcpynA
Definition: compat.h:408
Definition: name.c:36
GLuint res
Definition: glext.h:9613

◆ 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 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
#define DWORD
Definition: nt_native.h:44
static void * fetch_shlwapi_ordinal(UINT_PTR ord)
Definition: shdocvw_main.c:280
#define WINAPI
Definition: msvc.h:8
GLfloat GLfloat p
Definition: glext.h:8902

◆ 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 }
#define FIXME(fmt,...)
Definition: debug.h:110

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().