shdocvw: Implemented a couple of forwards to shlwapi.

This commit is contained in:
Eric Pouech 2006-02-15 13:37:18 +01:00 committed by Alexandre Julliard
parent 0a5a8813cb
commit dd7e08cc7c
3 changed files with 76 additions and 5 deletions

View File

@ -5,7 +5,7 @@ SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = shdocvw.dll
IMPORTLIB = libshdocvw.$(IMPLIBEXT)
IMPORTS = user32 advapi32 kernel32
IMPORTS = shlwapi user32 advapi32 kernel32
DELAYIMPORTS = urlmon ole32 oleaut32
EXTRALIBS = -luuid

View File

@ -2,7 +2,7 @@
101 stub -noname IEWinMain
102 stub -noname CreateShortcutInDirA
103 stub -noname CreateShortcutInDirW
104 stub -noname WhichPlatformFORWARD
104 stdcall -noname WhichPlatformFORWARD()
105 stub -noname CreateShortcutInDirEx
106 stub HlinkFindFrame
107 stub SetShellOfflineState
@ -15,9 +15,10 @@
118 stdcall -noname ShellDDEInit(long)
119 stub -noname SHCreateDesktop
120 stub -noname SHDesktopMessageLoop
121 stub -noname StopWatchModeFORWARD
122 stub -noname StopWatchFlushFORWARD
123 stub -noname StopWatchFORWARD
121 stdcall -noname StopWatchModeFORWARD()
122 stdcall -noname StopWatchFlushFORWARD()
123 stdcall -noname StopWatchAFORWARD(long str long long long)
124 stdcall -noname StopWatchWFORWARD(long wstr long long long)
125 stdcall -noname RunInstallUninstallStubs()
130 stub -noname RunInstallUninstallStubs2
131 stub -noname SHCreateSplashScreen

View File

@ -586,3 +586,73 @@ void WINAPI OpenURL(HWND hWnd, HINSTANCE hInst, LPCSTR lpcstrUrl, int nShowCmd)
{
FIXME("%p %p %s %d\n", hWnd, hInst, debugstr_a(lpcstrUrl), nShowCmd);
}
/**********************************************************************
* Some forwards (by ordinal) to SHLWAPI
*/
static void* fetch_shlwapi_ordinal(unsigned ord)
{
static const WCHAR shlwapiW[] = {'s','h','l','w','a','p','i','.','d','l','l','\0'};
static HANDLE h;
if (!h && !(h = GetModuleHandleW(shlwapiW))) return NULL;
return (void*)GetProcAddress(h, (const char*)ord);
}
/******************************************************************
* WhichPlatformFORWARD (SHDOCVW.@)
*/
DWORD WINAPI WhichPlatformFORWARD(void)
{
static DWORD (*WINAPI p)(void);
if (p || (p = fetch_shlwapi_ordinal(276))) return p();
return 1; /* not integrated, see shlwapi.WhichPlatform */
}
/******************************************************************
* StopWatchModeFORWARD (SHDOCVW.@)
*/
void WINAPI StopWatchModeFORWARD(void)
{
static void (*WINAPI p)(void);
if (p || (p = fetch_shlwapi_ordinal(241))) p();
}
/******************************************************************
* StopWatchFlushFORWARD (SHDOCVW.@)
*/
void WINAPI StopWatchFlushFORWARD(void)
{
static void (*WINAPI p)(void);
if (p || (p = fetch_shlwapi_ordinal(242))) p();
}
/******************************************************************
* StopWatchWFORWARD (SHDOCVW.@)
*/
DWORD WINAPI StopWatchWFORWARD(DWORD dwClass, LPCWSTR lpszStr, DWORD dwUnknown,
DWORD dwMode, DWORD dwTimeStamp)
{
static DWORD (*WINAPI p)(DWORD, LPCWSTR, DWORD, DWORD, DWORD);
if (p || (p = fetch_shlwapi_ordinal(243)))
return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/******************************************************************
* StopWatchAFORWARD (SHDOCVW.@)
*/
DWORD WINAPI StopWatchAFORWARD(DWORD dwClass, LPCSTR lpszStr, DWORD dwUnknown,
DWORD dwMode, DWORD dwTimeStamp)
{
static DWORD (*WINAPI p)(DWORD, LPCSTR, DWORD, DWORD, DWORD);
if (p || (p = fetch_shlwapi_ordinal(244)))
return p(dwClass, lpszStr, dwUnknown, dwMode, dwTimeStamp);
return ERROR_CALL_NOT_IMPLEMENTED;
}