Part 2 of a bunch of stub additions and partial implementations from Codeweavers. The added files are the first two chunks in the patch. Added files: dlls/ntdll : ldr.c dlls/wininet : urlcache.c Modified files: dlls/ntdll : Makefile.in dlls/ntdll : ntdll.spec dlls/rpcrt4 : rpcrt4.spec dlls/rpcrt4 : rpcrt4_main.c dlls/shell32 : shell.c dlls/shell32 : shell32.spec dlls/shell32 : shellpath.c dlls/shell32 : shellstring.c dlls/urlmon : umon.c dlls/urlmon : urlmon.spec dlls/urlmon : Makefile.in dlls/wininet : wininet.spec Log message: Codeweavers Many added and partially implemented stubs. Implementations of: LdrDisableThreadCalloutsForDll NdrDllCanUnloadNow CheckEscapesA/W
New file =================================================================== --- dlls/ntdll/ldr.c Wed Dec 31 18:00:00 1969 +++ dlls/ntdll/ldr.c Thu Jan 3 11:23:44 2002 @@ -0,0 +1,11 @@ +#include "winbase.h" +#include "ntdef.h" +#include "winnt.h" + +NTSTATUS WINAPI LdrDisableThreadCalloutsForDll(HANDLE hModule) +{ + if (DisableThreadLibraryCalls(hModule)) + return STATUS_SUCCESS; + else + return STATUS_DLL_NOT_FOUND; +} New file =================================================================== --- dlls/wininet/urlcache.c Wed Dec 31 18:00:00 1969 +++ dlls/wininet/urlcache.c Fri Oct 12 06:31:21 2001 @@ -0,0 +1,36 @@ +/* + * Wininet - Url Cache functions + * + * Copyright 2001 CodeWeavers + * + * Eric Kohl + * + */ +#include "config.h" + +#include <stdlib.h> +#include <string.h> +#include <time.h> + +#include "windef.h" +#include "winbase.h" +#include "wininet.h" +#include "winerror.h" + +#include "debugtools.h" +#include "internet.h" + +DEFAULT_DEBUG_CHANNEL(wininet); + + +INTERNETAPI HANDLE WINAPI FindFirstUrlCacheEntryA(LPCSTR lpszUrlSearchPattern, + LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo, LPDWORD lpdwFirstCacheEntryInfoBufferSize) +{ + return 0; +} + +INTERNETAPI HANDLE WINAPI FindFirstUrlCacheEntryW(LPCWSTR lpszUrlSearchPattern, + LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo, LPDWORD lpdwFirstCacheEntryInfoBufferSize) +{ + return 0; +} Index: dlls/ntdll/Makefile.in =================================================================== RCS file: /home/wine/wine/dlls/ntdll/Makefile.in,v retrieving revision 1.22 diff -u -r1.22 Makefile.in --- dlls/ntdll/Makefile.in 2002/01/13 01:44:00 1.22 +++ dlls/ntdll/Makefile.in 2002/01/26 16:22:36 @@ -14,6 +14,7 @@ file.c \ heap.c \ large_int.c \ + ldr.c \ misc.c \ nt.c \ om.c \ Index: dlls/ntdll/ntdll.spec =================================================================== RCS file: /home/wine/wine/dlls/ntdll/ntdll.spec,v retrieving revision 1.57 diff -u -r1.57 ntdll.spec --- dlls/ntdll/ntdll.spec 2002/01/12 21:17:10 1.57 +++ dlls/ntdll/ntdll.spec 2002/01/26 16:22:38 @@ -43,7 +43,7 @@ @ stub KiUserCallbackDispatcher @ stub KiUserExceptionDispatcher @ stub LdrAccessResource -@ stub LdrDisableThreadCalloutsForDll +@ stdcall LdrDisableThreadCalloutsForDll(long) LdrDisableThreadCalloutsForDll @ stub LdrEnumResources @ stub LdrFindEntryForAddress @ stub LdrFindResourceDirectory_U @@ -394,6 +394,7 @@ @ stdcall RtlFreeUnicodeString(ptr) RtlFreeUnicodeString @ stub RtlGenerate8dot3Name @ stdcall RtlGetAce(ptr long ptr) RtlGetAce +@ stub RtlGetVersion @ stub RtlGetCallersAddress @ stub RtlGetCompressionWorkSpaceSize @ stdcall RtlGetControlSecurityDescriptor(ptr ptr ptr) RtlGetControlSecurityDescriptor @@ -511,6 +512,7 @@ @ stdcall RtlSizeHeap(long long ptr) RtlSizeHeap @ stub RtlSplay @ stub RtlStartRXact +@ stub RtlStringFromGUID @ stdcall RtlSubAuthorityCountSid(ptr) RtlSubAuthorityCountSid @ stdcall RtlSubAuthoritySid(ptr long) RtlSubAuthoritySid @ stub RtlSubtreePredecessor Index: dlls/rpcrt4/rpcrt4.spec =================================================================== RCS file: /home/wine/wine/dlls/rpcrt4/rpcrt4.spec,v retrieving revision 1.10 diff -u -r1.10 rpcrt4.spec --- dlls/rpcrt4/rpcrt4.spec 2002/01/06 19:08:47 1.10 +++ dlls/rpcrt4/rpcrt4.spec 2002/01/26 16:22:38 @@ -23,8 +23,8 @@ @ stub MqGetContext # win9x @ stub MqRegisterQueue # win9x -@ stub NdrDllCanUnloadNow -@ stub NdrDllGetClassObject +@ stdcall NdrDllCanUnloadNow(ptr) NdrDllCanUnloadNow +@ stdcall NdrDllGetClassObject() NdrDllGetClassObject @ stdcall NdrDllRegisterProxy(long ptr ptr) NdrDllRegisterProxy @ stub NdrDllUnregisterProxy Index: dlls/rpcrt4/rpcrt4_main.c =================================================================== RCS file: /home/wine/wine/dlls/rpcrt4/rpcrt4_main.c,v retrieving revision 1.18 diff -u -r1.18 rpcrt4_main.c --- dlls/rpcrt4/rpcrt4_main.c 2002/01/06 19:08:47 1.18 +++ dlls/rpcrt4/rpcrt4_main.c 2002/01/26 16:22:39 @@ -18,6 +18,10 @@ #include "winbase.h" #include "rpc.h" +#include "ole2.h" +#include "rpcndr.h" +#include "rpcproxy.h" + #ifdef HAVE_SYS_FILE_H # include <sys/file.h> #endif @@ -342,7 +346,7 @@ */ HRESULT WINAPI NdrDllRegisterProxy( HMODULE hDll, /* [in] */ - void **pProxyFileList, /* [???] FIXME: const ProxyFileInfo ** */ + const ProxyFileInfo **pProxyFileList, /* [in] */ const CLSID *pclsid /* [in] */ ) { @@ -522,3 +526,24 @@ return RPC_S_INVALID_STRING_BINDING; /* As good as any failure code */ } + +/*********************************************************************** + * NdrDllCanUnloadNow (RPCRT4.@) + */ +HRESULT WINAPI NdrDllCanUnloadNow(CStdPSFactoryBuffer *pPSFactoryBuffer) +{ + FIXME("%p\n",pPSFactoryBuffer); + return FALSE; +} + +HRESULT WINAPI NdrDllGetClassObject( + REFCLSID rclsid, REFIID riid , LPVOID *ppv, + const ProxyFileInfo ** pProxyFileList, + const CLSID * pclsid, + CStdPSFactoryBuffer * pPSFactoryBuffer) +{ + if(ppv) + *ppv = NULL; + return RPC_S_UNKNOWN_IF; +} + Index: dlls/shell32/shell.c =================================================================== RCS file: /home/wine/wine/dlls/shell32/shell.c,v retrieving revision 1.33 diff -u -r1.33 shell.c --- dlls/shell32/shell.c 2001/11/06 22:31:20 1.33 +++ dlls/shell32/shell.c 2002/01/26 16:22:40 @@ -650,6 +650,12 @@ return ExtractAssociatedIcon16(hInst,lpIconPath,lpiIcon); } +HICON WINAPI ExtractAssociatedIconExW(DWORD d1, DWORD d2, DWORD d3, DWORD d4) +{ + FIXME("(%lx %lx %lx %lx): stub\n", d1, d2, d3, d4); + return 0; +} + /************************************************************************* * FindEnvironmentString [SHELL.38] * Index: dlls/shell32/shell32.spec =================================================================== RCS file: /home/wine/wine/dlls/shell32/shell32.spec,v retrieving revision 1.45 diff -u -r1.45 shell32.spec --- dlls/shell32/shell32.spec 2001/12/26 20:34:12 1.45 +++ dlls/shell32/shell32.spec 2002/01/26 16:22:42 @@ -324,8 +324,8 @@ # version 4.0 (win95) # _WIN32_IE >= 0x0200 # -@ stub CheckEscapesA -@ stub CheckEscapesW +@ stdcall CheckEscapesA(str long long ptr ptr long) CheckEscapesA +@ stdcall CheckEscapesW(wstr long long ptr ptr long) CheckEscapesW @ stdcall CommandLineToArgvW(wstr ptr) CommandLineToArgvW @ stdcall Control_FillCache_RunDLL(long long long long)Control_FillCache_RunDLL @ stub Control_FillCache_RunDLLA @@ -340,7 +340,7 @@ @ stdcall DuplicateIcon(long long) DuplicateIcon @ stdcall ExtractAssociatedIconA(long ptr long)ExtractAssociatedIconA @ stub ExtractAssociatedIconExA -@ stub ExtractAssociatedIconExW +@ stdcall ExtractAssociatedIconExW(long long long long)ExtractAssociatedIconExW @ stub ExtractAssociatedIconW @ stdcall ExtractIconA(long str long)ExtractIconA @ stdcall ExtractIconEx(ptr long ptr ptr long)ExtractIconExAW Index: dlls/shell32/shellpath.c =================================================================== RCS file: /home/wine/wine/dlls/shell32/shellpath.c,v retrieving revision 1.58 diff -u -r1.58 shellpath.c --- dlls/shell32/shellpath.c 2001/12/11 00:30:18 1.58 +++ dlls/shell32/shellpath.c 2002/01/26 16:22:43 @@ -795,10 +795,10 @@ "PrintHood", "PrintHood" }, - { /* CSIDL_LOCAL_APPDATA */ - 0, 0, /* FIXME */ - NULL, - NULL, + { /* CSIDL_LOCAL_APPDATA (win2k only/undocumented) */ + 1, HKCU, + "Local AppData", + "Local Settings\\Application Data", }, { /* CSIDL_ALTSTARTUP */ 0, 1, /* FIXME */ Index: dlls/shell32/shellstring.c =================================================================== RCS file: /home/wine/wine/dlls/shell32/shellstring.c,v retrieving revision 1.18 diff -u -r1.18 shellstring.c --- dlls/shell32/shellstring.c 2002/01/18 18:57:44 1.18 +++ dlls/shell32/shellstring.c 2002/01/26 16:22:43 @@ -193,3 +193,43 @@ return OleStrToStrNW (lpOut, nOut, lpIn, nIn); return OleStrToStrNA (lpOut, nOut, lpIn, nIn); } + + +/************************************************************************* + * CheckEscapes [SHELL32] + */ +DWORD WINAPI CheckEscapesA( + LPSTR string, /* [in] string to check ??*/ + DWORD b, /* [???] is 0 */ + DWORD c, /* [???] is 0 */ + LPDWORD d, /* [???] is address */ + LPDWORD e, /* [???] is address */ + DWORD handle ) /* [in] looks like handle but not */ +{ + FIXME("(%p<%s> %ld %ld %p<%ld> %p<%ld> 0x%08lx) stub\n", + string, debugstr_a(string), + b, + c, + d, (d) ? *d : 0xabbacddc, + e, (e) ? *e : 0xabbacddd, + handle); + return 0; +} + +DWORD WINAPI CheckEscapesW( + LPWSTR string, /* [in] string to check ??*/ + DWORD b, /* [???] is 0 */ + DWORD c, /* [???] is 0 */ + LPDWORD d, /* [???] is address */ + LPDWORD e, /* [???] is address */ + DWORD handle ) /* [in] looks like handle but not */ +{ + FIXME("(%p<%s> %ld %ld %p<%ld> %p<%ld> 0x%08lx) stub\n", + string, debugstr_w(string), + b, + c, + d, (d) ? *d : 0xabbacddc, + e, (e) ? *e : 0xabbacddd, + handle); + return 0; +} Index: dlls/urlmon/umon.c =================================================================== RCS file: /home/wine/wine/dlls/urlmon/umon.c,v retrieving revision 1.7 diff -u -r1.7 umon.c --- dlls/urlmon/umon.c 2001/12/24 20:24:37 1.7 +++ dlls/urlmon/umon.c 2002/01/26 16:22:43 @@ -127,3 +127,13 @@ return hr; } +/*********************************************************************** + * Extract (URLMON.@) + * + */ +HRESULT WINAPI Extract(DWORD Param1, DWORD Param2) +{ + TRACE("%x %x\n", Param1, Param2); + + return S_OK; +} Index: dlls/urlmon/urlmon.spec =================================================================== RCS file: /home/wine/wine/dlls/urlmon/urlmon.spec,v retrieving revision 1.8 diff -u -r1.8 urlmon.spec --- dlls/urlmon/urlmon.spec 2001/12/24 20:24:37 1.8 +++ dlls/urlmon/urlmon.spec 2002/01/26 16:22:43 @@ -34,7 +34,7 @@ @ stdcall DllRegisterServer() URLMON_DllRegisterServer @ stdcall DllRegisterServerEx() URLMON_DllRegisterServerEx @ stdcall DllUnregisterServer() URLMON_DllUnregisterServer -@ stub Extract +@ stdcall Extract(long long) Extract @ stub FaultInIEFeature @ stub FindMediaType @ stub FindMediaTypeClass Index: dlls/wininet/Makefile.in =================================================================== RCS file: /home/wine/wine/dlls/wininet/Makefile.in,v retrieving revision 1.10 diff -u -r1.10 Makefile.in --- dlls/wininet/Makefile.in 2000/11/16 04:15:09 1.10 +++ dlls/wininet/Makefile.in 2002/01/26 16:22:43 @@ -11,6 +11,7 @@ ftp.c \ http.c \ internet.c \ + urlcache.c \ utility.c \ wininet_main.c Index: dlls/wininet/wininet.spec =================================================================== RCS file: /home/wine/wine/dlls/wininet/wininet.spec,v retrieving revision 1.13 diff -u -r1.13 wininet.spec --- dlls/wininet/wininet.spec 2001/12/24 20:24:37 1.13 +++ dlls/wininet/wininet.spec 2002/01/26 16:22:43 @@ -27,10 +27,10 @@ @ stub FindCloseUrlCache @ stub FindFirstUrlCacheContainerA @ stub FindFirstUrlCacheContainerW -@ stub FindFirstUrlCacheEntryA +@ stdcall FindFirstUrlCacheEntryA(str ptr ptr) FindFirstUrlCacheEntryA @ stub FindFirstUrlCacheEntryExA @ stub FindFirstUrlCacheEntryExW -@ stub FindFirstUrlCacheEntryW +@ stdcall FindFirstUrlCacheEntryW(wstr ptr ptr) FindFirstUrlCacheEntryW @ stub FindNextUrlCacheContainerA @ stub FindNextUrlCacheContainerW @ stub FindNextUrlCacheEntryA