Commit 13d74c5f authored by Juergen Schmied's avatar Juergen Schmied Committed by Alexandre Julliard

- new dll shfolder.dll

- small fixes
parent 661a9403
...@@ -97,6 +97,7 @@ EXTRADLLNAMES = \ ...@@ -97,6 +97,7 @@ EXTRADLLNAMES = \
olesvr \ olesvr \
rasapi16 \ rasapi16 \
shell \ shell \
shfolder \
shlwapi \ shlwapi \
storage \ storage \
system \ system \
...@@ -286,7 +287,7 @@ libriched32.@LIBEXT@: richedit/libriched32.@LIBEXT@ ...@@ -286,7 +287,7 @@ libriched32.@LIBEXT@: richedit/libriched32.@LIBEXT@
libsetupx.@LIBEXT@: setupx/libsetupx.@LIBEXT@ libsetupx.@LIBEXT@: setupx/libsetupx.@LIBEXT@
$(RM) $@ && $(LN_S) setupx/libsetupx.@LIBEXT@ $@ $(RM) $@ && $(LN_S) setupx/libsetupx.@LIBEXT@ $@
libshell32.@LIBEXT@ libshell.@LIBEXT@ libshlwapi.@LIBEXT@: shell32/libshell32.@LIBEXT@ libshell32.@LIBEXT@ libshell.@LIBEXT@ libshlwapi.@LIBEXT@ libshfolder.@LIBEXT@: shell32/libshell32.@LIBEXT@
$(RM) $@ && $(LN_S) shell32/libshell32.@LIBEXT@ $@ $(RM) $@ && $(LN_S) shell32/libshell32.@LIBEXT@ $@
libsound.@LIBEXT@: sound/libsound.@LIBEXT@ libsound.@LIBEXT@: sound/libsound.@LIBEXT@
......
...@@ -4,13 +4,14 @@ SRCDIR = @srcdir@ ...@@ -4,13 +4,14 @@ SRCDIR = @srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
MODULE = shell32 MODULE = shell32
SOVERSION = 1.0 SOVERSION = 1.0
ALTNAMES = shell shlwapi ALTNAMES = shell shlwapi shfolder
IMPORTS = ole32 IMPORTS = ole32
SPEC_SRCS = \ SPEC_SRCS = \
shell.spec \ shell.spec \
shell32.spec \ shell32.spec \
shlwapi.spec shlwapi.spec \
shfolder.spec
C_SRCS = \ C_SRCS = \
brsfolder.c \ brsfolder.c \
......
...@@ -1069,9 +1069,12 @@ DWORD WINAPI SHLWAPI_193 () ...@@ -1069,9 +1069,12 @@ DWORD WINAPI SHLWAPI_193 ()
/************************************************************************* /*************************************************************************
* SHLWAPI_219 [SHLWAPI] * SHLWAPI_219 [SHLWAPI]
*
* NOTES
* error codes: E_POINTER, E_NOINTERFACE
*/ */
HRESULT WINAPI SHLWAPI_219 ( HRESULT WINAPI SHLWAPI_219 (
LPVOID w, /* returned by LocalAlloc */ LPVOID w, /* returned by LocalAlloc, 0x450 bytes, iface */
LPVOID x, LPVOID x,
LPVOID y, LPVOID y,
LPWSTR z) /* OUT: path */ LPWSTR z) /* OUT: path */
...@@ -1100,26 +1103,36 @@ HANDLE WINAPI SHLWAPI_222 (LPCLSID guid) ...@@ -1100,26 +1103,36 @@ HANDLE WINAPI SHLWAPI_222 (LPCLSID guid)
* SHLWAPI_223 [SHLWAPI] * SHLWAPI_223 [SHLWAPI]
* *
* NOTES * NOTES
* function guessed * get the count of the semaphore
*/ */
DWORD WINAPI SHLWAPI_223 (HANDLE handle) DWORD WINAPI SHLWAPI_223 (HANDLE handle)
{ {
DWORD oldCount; DWORD oldCount;
FIXME("(0x%08x) stub\n",handle); FIXME("(0x%08x) stub\n",handle);
ReleaseSemaphore( handle, 1, &oldCount); ReleaseSemaphore( handle, 1, &oldCount); /* +1 */
WaitForSingleObject( handle, 0 ); WaitForSingleObject( handle, 0 ); /* -1 */
return 0; return oldCount;
} }
/************************************************************************* /*************************************************************************
* SHLWAPI_237 [SHLWAPI] * SHLWAPI_237 [SHLWAPI]
*
* NOTES
* checks if a class is registered, if not it registers it
*/ */
DWORD WINAPI SHLWAPI_237 (LPVOID x) DWORD WINAPI SHLWAPI_237 (WNDCLASSW * lpWndClass)
{ {
FIXME("(ptr=%p str=%s wstr=%s)\n",x,debugstr_a(x),debugstr_w(x)); WNDCLASSW WndClass;
return 0xabba1234;
TRACE("(0x%08x %s)\n",lpWndClass->hInstance, debugstr_w(lpWndClass->lpszClassName));
if (!GetClassInfoW(lpWndClass->hInstance, lpWndClass->lpszClassName, &WndClass))
{
return RegisterClassW(lpWndClass);
}
return TRUE;
} }
/************************************************************************* /*************************************************************************
......
...@@ -126,7 +126,7 @@ HRESULT WINAPI StrRetToBufW (LPSTRRET src, LPITEMIDLIST pidl, LPWSTR dest, DWORD ...@@ -126,7 +126,7 @@ HRESULT WINAPI StrRetToBufW (LPSTRRET src, LPITEMIDLIST pidl, LPWSTR dest, DWORD
*/ */
LPSTR WINAPI StrChrA (LPCSTR str, INT c) LPSTR WINAPI StrChrA (LPCSTR str, INT c)
{ {
TRACE("%s %i stub\n", str,c); TRACE("%s %i\n", str,c);
return strchr(str, c); return strchr(str, c);
} }
......
name shfolder
type win32
import advapi32
@ stdcall SHGetFolderPathA(long long long long ptr)SHGetFolderPathA
@ stdcall SHGetFolderPathW(long long long long ptr)SHGetFolderPathW
...@@ -465,8 +465,8 @@ type win32 ...@@ -465,8 +465,8 @@ type win32
@ stdcall PathCanonicalizeW (ptr wstr) PathCanonicalizeW @ stdcall PathCanonicalizeW (ptr wstr) PathCanonicalizeW
@ stdcall PathCombineA (ptr ptr ptr) PathCombineA @ stdcall PathCombineA (ptr ptr ptr) PathCombineA
@ stdcall PathCombineW (ptr ptr ptr) PathCombineW @ stdcall PathCombineW (ptr ptr ptr) PathCombineW
@ stub PathCommonPrefixA @ stdcall PathCommonPrefixA(str str ptr)PathCommonPrefixA
@ stub PathCommonPrefixW @ stdcall PathCommonPrefixW(wstr wstr ptr)PathCommonPrefixW
@ stub PathCompactPathA @ stub PathCompactPathA
@ stub PathCompactPathExA @ stub PathCompactPathExA
@ stub PathCompactPathExW @ stub PathCompactPathExW
......
...@@ -85,44 +85,9 @@ BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath); ...@@ -85,44 +85,9 @@ BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv); DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
/**************************************************************************** /****************************************************************************
* SHGetSpecialFolderLocation API
*/
HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
/****************************************************************************
* other functions * other functions
*/ */
#define CSIDL_DESKTOP 0x0000
#define CSIDL_PROGRAMS 0x0002
#define CSIDL_CONTROLS 0x0003
#define CSIDL_PRINTERS 0x0004
#define CSIDL_PERSONAL 0x0005
#define CSIDL_FAVORITES 0x0006
#define CSIDL_STARTUP 0x0007
#define CSIDL_RECENT 0x0008
#define CSIDL_SENDTO 0x0009
#define CSIDL_BITBUCKET 0x000a
#define CSIDL_STARTMENU 0x000b
#define CSIDL_DESKTOPDIRECTORY 0x0010
#define CSIDL_DRIVES 0x0011
#define CSIDL_NETWORK 0x0012
#define CSIDL_NETHOOD 0x0013
#define CSIDL_FONTS 0x0014
#define CSIDL_TEMPLATES 0x0015
#define CSIDL_COMMON_STARTMENU 0x0016
#define CSIDL_COMMON_PROGRAMS 0X0017
#define CSIDL_COMMON_STARTUP 0x0018
#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
#define CSIDL_APPDATA 0x001a
#define CSIDL_PRINTHOOD 0x001b
#define CSIDL_ALTSTARTUP 0x001d
#define CSIDL_COMMON_ALTSTARTUP 0x001e
#define CSIDL_COMMON_FAVORITES 0x001f
#define CSIDL_INTERNET_CACHE 0x0020
#define CSIDL_COOKIES 0x0021
#define CSIDL_HISTORY 0x0022
#ifdef __cplusplus #ifdef __cplusplus
} /* extern "C" */ } /* extern "C" */
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
......
...@@ -422,7 +422,64 @@ void WINAPI SHChangeNotifyA(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID ...@@ -422,7 +422,64 @@ void WINAPI SHChangeNotifyA(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID
void WINAPI SHChangeNotifyW(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2); void WINAPI SHChangeNotifyW(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
#define SHChangeNotify WINELIB_NAME_AW(SHChangeNotify) #define SHChangeNotify WINELIB_NAME_AW(SHChangeNotify)
/**********************************************************************/ /****************************************************************************
* SHGetSpecialFolderLocation API
*/
HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
#define CSIDL_DESKTOP 0x0000
#define CSIDL_INTERNET 0x0001
#define CSIDL_PROGRAMS 0x0002
#define CSIDL_CONTROLS 0x0003
#define CSIDL_PRINTERS 0x0004
#define CSIDL_PERSONAL 0x0005
#define CSIDL_FAVORITES 0x0006
#define CSIDL_STARTUP 0x0007
#define CSIDL_RECENT 0x0008
#define CSIDL_SENDTO 0x0009
#define CSIDL_BITBUCKET 0x000a
#define CSIDL_STARTMENU 0x000b
#define CSIDL_DESKTOPDIRECTORY 0x0010
#define CSIDL_DRIVES 0x0011
#define CSIDL_NETWORK 0x0012
#define CSIDL_NETHOOD 0x0013
#define CSIDL_FONTS 0x0014
#define CSIDL_TEMPLATES 0x0015
#define CSIDL_COMMON_STARTMENU 0x0016
#define CSIDL_COMMON_PROGRAMS 0X0017
#define CSIDL_COMMON_STARTUP 0x0018
#define CSIDL_COMMON_DESKTOPDIRECTORY 0x0019
#define CSIDL_APPDATA 0x001a
#define CSIDL_PRINTHOOD 0x001b
#define CSIDL_ALTSTARTUP 0x001d
#define CSIDL_COMMON_ALTSTARTUP 0x001e
#define CSIDL_COMMON_FAVORITES 0x001f
#define CSIDL_INTERNET_CACHE 0x0020
#define CSIDL_COOKIES 0x0021
#define CSIDL_HISTORY 0x0022
#define CSIDL_COMMON_APPDATA 0x0023
#define CSIDL_WINDOWS 0x0024
#define CSIDL_SYSTEM 0x0025
#define CSIDL_PROGRAM_FILES 0x0026
#define CSIDL_MYPICTURES 0x0027
#define CSIDL_PROFILE 0x0028
#define CSIDL_SYSTEMX86 0x0029
#define CSIDL_PROGRAM_FILESX86 0x002a
#define CSIDL_PROGRAM_FILES_COMMON 0x002b
#define CSIDL_PROGRAM_FILES_COMMONX86 0x002c
#define CSIDL_COMMON_TEMPLATES 0x002d
#define CSIDL_COMMON_DOCUMENTS 0x002e
#define CSIDL_COMMON_ADMINTOOLS 0x002f
#define CSIDL_ADMINTOOLS 0x0030
#define CSIDL_CONNECTIONS 0x0031
#define CSIDL_FOLDER_MASK 0x00ff
#define CSIDL_FLAG_DONT_VERIFY 0x4000
#define CSIDL_FLAG_CREATE 0x8000
#define CSIDL_FLAG_MASK 0xff00
#ifdef __cplusplus #ifdef __cplusplus
} /* extern "C" */ } /* extern "C" */
......
...@@ -37,6 +37,10 @@ BOOL WINAPI PathStripToRootA(LPSTR pszPath); ...@@ -37,6 +37,10 @@ BOOL WINAPI PathStripToRootA(LPSTR pszPath);
BOOL WINAPI PathStripToRootW(LPWSTR pszPath); BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
#define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot) #define PathStripToRoot WINELIB_NAME_AW(PathStripToRoot)
LPSTR WINAPI StrChrA(LPCSTR lpStart, WORD wMatch);
LPWSTR WINAPI StrChrW(LPCWSTR lpStart, WCHAR wMatch);
#define StrChr WINELIB_NAME_AW(StrChr)
#ifdef __cplusplus #ifdef __cplusplus
} /* extern "C" */ } /* extern "C" */
#endif /* defined(__cplusplus) */ #endif /* defined(__cplusplus) */
......
...@@ -588,10 +588,10 @@ LPWSTR WINAPI PathRemoveBlanksW(LPWSTR lpszPath); ...@@ -588,10 +588,10 @@ LPWSTR WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
#define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks) #define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
LPVOID WINAPI PathRemoveBlanksAW(LPVOID lpszPath); LPVOID WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
LPSTR WINAPI PathQuoteSpacesA(LPCSTR path); LPSTR WINAPI PathQuoteSpacesA(LPSTR path);
LPWSTR WINAPI PathQuoteSpacesW(LPCWSTR path); LPWSTR WINAPI PathQuoteSpacesW(LPWSTR path);
#define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces) #define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
LPVOID WINAPI PathQuoteSpacesAW(LPCVOID path); LPVOID WINAPI PathQuoteSpacesAW(LPVOID path);
void WINAPI PathUnquoteSpaces(LPSTR lpszPath); void WINAPI PathUnquoteSpaces(LPSTR lpszPath);
......
...@@ -60,6 +60,7 @@ static struct tagDllOverride { ...@@ -60,6 +60,7 @@ static struct tagDllOverride {
{"glide2x", "so,native"}, {"glide2x", "so,native"},
{"odbc32", "builtin"}, {"odbc32", "builtin"},
{"opengl32", "builtin,native"}, {"opengl32", "builtin,native"},
{"shfolder", "builtin,native"},
{NULL,NULL}, {NULL,NULL},
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment