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 = \
olesvr \
rasapi16 \
shell \
shfolder \
shlwapi \
storage \
system \
......@@ -286,7 +287,7 @@ libriched32.@LIBEXT@: richedit/libriched32.@LIBEXT@
libsetupx.@LIBEXT@: 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@ $@
libsound.@LIBEXT@: sound/libsound.@LIBEXT@
......
......@@ -4,13 +4,14 @@ SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = shell32
SOVERSION = 1.0
ALTNAMES = shell shlwapi
ALTNAMES = shell shlwapi shfolder
IMPORTS = ole32
SPEC_SRCS = \
shell.spec \
shell32.spec \
shlwapi.spec
shlwapi.spec \
shfolder.spec
C_SRCS = \
brsfolder.c \
......
......@@ -1069,9 +1069,12 @@ DWORD WINAPI SHLWAPI_193 ()
/*************************************************************************
* SHLWAPI_219 [SHLWAPI]
*
* NOTES
* error codes: E_POINTER, E_NOINTERFACE
*/
HRESULT WINAPI SHLWAPI_219 (
LPVOID w, /* returned by LocalAlloc */
LPVOID w, /* returned by LocalAlloc, 0x450 bytes, iface */
LPVOID x,
LPVOID y,
LPWSTR z) /* OUT: path */
......@@ -1100,26 +1103,36 @@ HANDLE WINAPI SHLWAPI_222 (LPCLSID guid)
* SHLWAPI_223 [SHLWAPI]
*
* NOTES
* function guessed
*/
* get the count of the semaphore
*/
DWORD WINAPI SHLWAPI_223 (HANDLE handle)
{
DWORD oldCount;
FIXME("(0x%08x) stub\n",handle);
ReleaseSemaphore( handle, 1, &oldCount);
WaitForSingleObject( handle, 0 );
return 0;
ReleaseSemaphore( handle, 1, &oldCount); /* +1 */
WaitForSingleObject( handle, 0 ); /* -1 */
return oldCount;
}
/*************************************************************************
* 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));
return 0xabba1234;
WNDCLASSW WndClass;
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
*/
LPSTR WINAPI StrChrA (LPCSTR str, INT c)
{
TRACE("%s %i stub\n", str,c);
TRACE("%s %i\n", 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
@ stdcall PathCanonicalizeW (ptr wstr) PathCanonicalizeW
@ stdcall PathCombineA (ptr ptr ptr) PathCombineA
@ stdcall PathCombineW (ptr ptr ptr) PathCombineW
@ stub PathCommonPrefixA
@ stub PathCommonPrefixW
@ stdcall PathCommonPrefixA(str str ptr)PathCommonPrefixA
@ stdcall PathCommonPrefixW(wstr wstr ptr)PathCommonPrefixW
@ stub PathCompactPathA
@ stub PathCompactPathExA
@ stub PathCompactPathExW
......
......@@ -85,44 +85,9 @@ BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
/****************************************************************************
* SHGetSpecialFolderLocation API
*/
HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
/****************************************************************************
* 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
} /* extern "C" */
#endif /* defined(__cplusplus) */
......
......@@ -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);
#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
} /* extern "C" */
......
......@@ -37,6 +37,10 @@ BOOL WINAPI PathStripToRootA(LPSTR pszPath);
BOOL WINAPI PathStripToRootW(LPWSTR pszPath);
#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
} /* extern "C" */
#endif /* defined(__cplusplus) */
......
......@@ -588,10 +588,10 @@ LPWSTR WINAPI PathRemoveBlanksW(LPWSTR lpszPath);
#define PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
LPVOID WINAPI PathRemoveBlanksAW(LPVOID lpszPath);
LPSTR WINAPI PathQuoteSpacesA(LPCSTR path);
LPWSTR WINAPI PathQuoteSpacesW(LPCWSTR path);
LPSTR WINAPI PathQuoteSpacesA(LPSTR path);
LPWSTR WINAPI PathQuoteSpacesW(LPWSTR path);
#define PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
LPVOID WINAPI PathQuoteSpacesAW(LPCVOID path);
LPVOID WINAPI PathQuoteSpacesAW(LPVOID path);
void WINAPI PathUnquoteSpaces(LPSTR lpszPath);
......
......@@ -60,6 +60,7 @@ static struct tagDllOverride {
{"glide2x", "so,native"},
{"odbc32", "builtin"},
{"opengl32", "builtin,native"},
{"shfolder", "builtin,native"},
{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