From 596a4b878e9fd85a33d2a673afe7a62e09248a53 Mon Sep 17 00:00:00 2001 From: Martin Fuchs Date: Mon, 16 Feb 2004 21:46:12 +0000 Subject: [PATCH] merged Wine commits to shell32 svn path=/trunk/; revision=8211 --- reactos/include/wine/shlobj.h | 78 ++++++++++++ reactos/lib/shell32/iconcache.c | 8 +- reactos/lib/shell32/pidl.c | 15 +-- reactos/lib/shell32/shell.c | 15 +-- reactos/lib/shell32/shell32_main.h | 2 +- reactos/lib/shell32/shellord.c | 2 +- reactos/lib/shell32/shellstring.c | 50 ++++---- reactos/lib/shell32/shlexec.c | 4 +- reactos/lib/shell32/shlview.c | 2 +- reactos/lib/shell32/undocshell.h | 188 +---------------------------- 10 files changed, 124 insertions(+), 240 deletions(-) diff --git a/reactos/include/wine/shlobj.h b/reactos/include/wine/shlobj.h index d674203d249..5a3714800a8 100644 --- a/reactos/include/wine/shlobj.h +++ b/reactos/include/wine/shlobj.h @@ -34,6 +34,34 @@ extern "C" { #include +LPVOID WINAPI SHAlloc(ULONG); +HRESULT WINAPI SHCoCreateInstance(LPCWSTR,const CLSID*,IUnknown*,REFIID,LPVOID*); +HRESULT WINAPI SHCreateStdEnumFmtEtc(DWORD,const FORMATETC *,IEnumFORMATETC**); +BOOL WINAPI SHFindFiles(LPCITEMIDLIST,LPCITEMIDLIST); +void WINAPI SHFree(LPVOID); +BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST pidl,LPSTR pszPath); +BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl,LPWSTR pszPath); +#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList) +HRESULT WINAPI SHILCreateFromPath(LPCWSTR,LPITEMIDLIST*,DWORD*); +LPITEMIDLIST WINAPI SHSimpleIDListFromPath(LPCWSTR); +int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder*,LPCITEMIDLIST,int*); + +LPITEMIDLIST WINAPI ILAppendID(LPITEMIDLIST,LPCSHITEMID,BOOL); +LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST); +LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST); +LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR); +LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR); +#define ILCreateFromPath WINELIB_NAME_AW(ILCreateFromPath) +LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST,LPCITEMIDLIST); +LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST,LPCITEMIDLIST); +LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST); +void WINAPI ILFree(LPITEMIDLIST); +LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST); +UINT WINAPI ILGetSize(LPCITEMIDLIST); +BOOL WINAPI ILIsEqual(LPCITEMIDLIST,LPCITEMIDLIST); +BOOL WINAPI ILIsParent(LPCITEMIDLIST,LPCITEMIDLIST,BOOL); +BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST); + HRESULT WINAPI SHCoCreateInstance(LPCWSTR, const CLSID*, LPUNKNOWN, REFIID, LPVOID*); BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath); @@ -872,6 +900,56 @@ struct IFileSystemBindDataVtbl { #endif /* __IFileSystemBindData_INTERFACE_DEFINED__ */ +/**************************************************************************** + * Drag And Drop Routines + */ + +/* DAD_AutoScroll sample structure */ +#define NUM_POINTS 3 +typedef struct +{ + int iNextSample; + DWORD dwLastScroll; + BOOL bFull; + POINT pts[NUM_POINTS]; + DWORD dwTimes[NUM_POINTS]; +} AUTO_SCROLL_DATA; + +BOOL WINAPI DAD_SetDragImage(HIMAGELIST,LPPOINT); +BOOL WINAPI DAD_DragEnterEx(HWND,POINT); +BOOL WINAPI DAD_DragEnterEx2(HWND,POINT,IDataObject*); +BOOL WINAPI DAD_DragMove(POINT); +BOOL WINAPI DAD_DragLeave(void); +BOOL WINAPI DAD_AutoScroll(HWND,AUTO_SCROLL_DATA*,LPPOINT); +HRESULT WINAPI SHDoDragDrop(HWND,IDataObject*,IDropSource*,DWORD,LPDWORD); + + +/**************************************************************************** + * Cabinet functions + */ + +typedef struct { + WORD cLength; + WORD nVersion; + BOOL fFullPathTitle:1; + BOOL fSaveLocalView:1; + BOOL fNotShell:1; + BOOL fSimpleDefault:1; + BOOL fDontShowDescBar:1; + BOOL fNewWindowMode:1; + BOOL fShowCompColor:1; + BOOL fDontPrettyNames:1; + BOOL fAdminsCreateCommonGroups:1; + UINT fUnusedFlags:7; + UINT fMenuEnumFilter; +} CABINETSTATE, *LPCABINETSTATE; + +#define CABINETSTATE_VERSION 2 + +BOOL WINAPI ReadCabinetState(CABINETSTATE *, int); +BOOL WINAPI WriteCabinetState(CABINETSTATE *); + + #ifdef __cplusplus } /* extern "C" */ #endif /* defined(__cplusplus) */ diff --git a/reactos/lib/shell32/iconcache.c b/reactos/lib/shell32/iconcache.c index 45d77f48deb..a5ea881698d 100644 --- a/reactos/lib/shell32/iconcache.c +++ b/reactos/lib/shell32/iconcache.c @@ -347,7 +347,7 @@ BOOL PidlToSicIndex ( LPCITEMIDLIST pidl, BOOL bBigIcon, UINT uFlags, - UINT * pIndex) + int * pIndex) { IExtractIconA *ei; char szIconFile[MAX_PATH]; /* file containing the icon */ @@ -383,11 +383,11 @@ BOOL PidlToSicIndex ( * */ int WINAPI SHMapPIDLToSystemImageListIndex( - LPSHELLFOLDER sh, + IShellFolder *sh, LPCITEMIDLIST pidl, - UINT * pIndex) + int *pIndex) { - UINT Index; + int Index; TRACE("(SF=%p,pidl=%p,%p)\n",sh,pidl,pIndex); pdump(pidl); diff --git a/reactos/lib/shell32/pidl.c b/reactos/lib/shell32/pidl.c index 48ab6652c5c..29f11875ade 100644 --- a/reactos/lib/shell32/pidl.c +++ b/reactos/lib/shell32/pidl.c @@ -764,10 +764,10 @@ LPITEMIDLIST WINAPI SHLogILFromFSIL(LPITEMIDLIST pidl) * NOTES * exported by ordinal */ -DWORD WINAPI ILGetSize(LPCITEMIDLIST pidl) +UINT WINAPI ILGetSize(LPCITEMIDLIST pidl) { LPCSHITEMID si = &(pidl->mkid); - DWORD len=0; + UINT len=0; if (pidl) { while (si->cb) @@ -776,7 +776,7 @@ DWORD WINAPI ILGetSize(LPCITEMIDLIST pidl) } len += 2; } - TRACE("pidl=%p size=%lu\n",pidl, len); + TRACE("pidl=%p size=%u\n",pidl, len); return len; } @@ -871,13 +871,10 @@ LPITEMIDLIST WINAPI ILAppend(LPITEMIDLIST pidl, LPCITEMIDLIST item, BOOL bEnd) * NOTES * exported by ordinal */ -DWORD WINAPI ILFree(LPITEMIDLIST pidl) +void WINAPI ILFree(LPITEMIDLIST pidl) { - TRACE("(pidl=0x%08lx)\n",(DWORD)pidl); - - if(!pidl) return FALSE; - SHFree(pidl); - return TRUE; + TRACE("(pidl=%p)\n",pidl); + if(pidl) SHFree(pidl); } /************************************************************************* diff --git a/reactos/lib/shell32/shell.c b/reactos/lib/shell32/shell.c index 9aa46e5fdd2..419e2fd0ab2 100644 --- a/reactos/lib/shell32/shell.c +++ b/reactos/lib/shell32/shell.c @@ -633,17 +633,10 @@ HINSTANCE16 WINAPI ShellExecute16( HWND16 hWnd, LPCSTR lpOperation, WCHAR *wVerb = NULL, *wFile = NULL, *wParameters = NULL, *wDirectory = NULL; HANDLE hProcess = 0; - if (lpOperation) - seiW.lpVerb = __SHCloneStrAtoW(&wVerb, lpOperation); - - if (lpFile) - seiW.lpFile = __SHCloneStrAtoW(&wFile, lpFile); - - if (lpParameters) - seiW.lpParameters = __SHCloneStrAtoW(&wParameters, lpParameters); - - if (lpDirectory) - seiW.lpDirectory = __SHCloneStrAtoW(&wDirectory, lpDirectory); + seiW.lpVerb = lpOperation ? __SHCloneStrAtoW(&wVerb, lpOperation) : NULL; + seiW.lpFile = lpFile ? __SHCloneStrAtoW(&wFile, lpFile) : NULL; + seiW.lpParameters = lpParameters ? __SHCloneStrAtoW(&wParameters, lpParameters) : NULL; + seiW.lpDirectory = lpDirectory ? __SHCloneStrAtoW(&wDirectory, lpDirectory) : NULL; seiW.cbSize = sizeof(seiW); seiW.fMask = 0; diff --git a/reactos/lib/shell32/shell32_main.h b/reactos/lib/shell32/shell32_main.h index 6709f0b3fd9..33f52cbb575 100644 --- a/reactos/lib/shell32/shell32_main.h +++ b/reactos/lib/shell32/shell32_main.h @@ -52,7 +52,7 @@ BOOL WINAPI Shell_GetImageList(HIMAGELIST * lpBigList, HIMAGELIST * lpSmallList) #define INVALID_INDEX -1 BOOL SIC_Initialize(void); void SIC_Destroy(void); -BOOL PidlToSicIndex (IShellFolder * sh, LPCITEMIDLIST pidl, BOOL bBigIcon, UINT uFlags, UINT * pIndex); +BOOL PidlToSicIndex (IShellFolder * sh, LPCITEMIDLIST pidl, BOOL bBigIcon, UINT uFlags, int * pIndex); INT SIC_GetIconIndex (LPCSTR sSourceFile, INT dwSourceIndex ); /* Classes Root */ diff --git a/reactos/lib/shell32/shellord.c b/reactos/lib/shell32/shellord.c index 6dcafbfe9bb..894de4dcf01 100644 --- a/reactos/lib/shell32/shellord.c +++ b/reactos/lib/shell32/shellord.c @@ -1025,7 +1025,7 @@ void WINAPI SHFreeUnusedLibraries (void) * DAD_AutoScroll [SHELL32.129] * */ -DWORD WINAPI DAD_AutoScroll(HWND hwnd, LPSCROLLSAMPLES samples, LPPOINT pt) +BOOL WINAPI DAD_AutoScroll(HWND hwnd, AUTO_SCROLL_DATA *samples, LPPOINT pt) { FIXME("hwnd = %p %p %p\n",hwnd,samples,pt); return 0; diff --git a/reactos/lib/shell32/shellstring.c b/reactos/lib/shell32/shellstring.c index d48f707c0f6..3581768d72d 100644 --- a/reactos/lib/shell32/shellstring.c +++ b/reactos/lib/shell32/shellstring.c @@ -44,16 +44,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(shell); /************************* STRRET functions ****************************/ -/* - * ***** NOTE ***** - * These routines are identical to StrRetToBuf[AW] in dlls/shlwapi/string.c. - * They were duplicated here because not every version of Shlwapi.dll exports - * StrRetToBuf[AW]. If you change one routine, change them both. YOU HAVE BEEN - * WARNED. - * ***** NOTE ***** - */ - -HRESULT WINAPI StrRetToStrNA (LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) +BOOL WINAPI StrRetToStrNA(LPSTR dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) { TRACE("dest=%p len=0x%lx strret=%p(%s) pidl=%p\n", dest,len,src, @@ -62,33 +53,36 @@ HRESULT WINAPI StrRetToStrNA (LPVOID dest, DWORD len, LPSTRRET src, const ITEMID (src->uType == STRRET_OFFSET) ? "STRRET_OFFSET" : "STRRET_???", pidl); + if (!dest) + return FALSE; + switch (src->uType) { case STRRET_WSTR: - WideCharToMultiByte(CP_ACP, 0, src->u.pOleStr, -1, (LPSTR)dest, len, NULL, NULL); + WideCharToMultiByte(CP_ACP, 0, src->u.pOleStr, -1, dest, len, NULL, NULL); CoTaskMemFree(src->u.pOleStr); break; case STRRET_CSTR: - lstrcpynA((LPSTR)dest, src->u.cStr, len); + lstrcpynA(dest, src->u.cStr, len); break; case STRRET_OFFSET: - lstrcpynA((LPSTR)dest, ((LPCSTR)&pidl->mkid)+src->u.uOffset, len); + lstrcpynA(dest, ((LPCSTR)&pidl->mkid)+src->u.uOffset, len); break; default: FIXME("unknown type!\n"); - if (len) *(LPSTR)dest = '\0'; - return(FALSE); + if (len) *dest = '\0'; + return FALSE; } TRACE("-- %s\n", debugstr_a(dest) ); - return S_OK; + return TRUE; } /************************************************************************/ -HRESULT WINAPI StrRetToStrNW (LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) +BOOL WINAPI StrRetToStrNW(LPWSTR dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) { TRACE("dest=%p len=0x%lx strret=%p(%s) pidl=%p\n", dest,len,src, @@ -97,29 +91,32 @@ HRESULT WINAPI StrRetToStrNW (LPVOID dest, DWORD len, LPSTRRET src, const ITEMID (src->uType == STRRET_OFFSET) ? "STRRET_OFFSET" : "STRRET_???", pidl); + if (!dest) + return FALSE; + switch (src->uType) { case STRRET_WSTR: - lstrcpynW((LPWSTR)dest, src->u.pOleStr, len); + lstrcpynW(dest, src->u.pOleStr, len); CoTaskMemFree(src->u.pOleStr); break; case STRRET_CSTR: if (!MultiByteToWideChar( CP_ACP, 0, src->u.cStr, -1, dest, len ) && len) - ((LPWSTR)dest)[len-1] = 0; + dest[len-1] = 0; break; case STRRET_OFFSET: if (!MultiByteToWideChar( CP_ACP, 0, ((LPCSTR)&pidl->mkid)+src->u.uOffset, -1, dest, len ) && len) - ((LPWSTR)dest)[len-1] = 0; + dest[len-1] = 0; break; default: FIXME("unknown type!\n"); - if (len) *(LPWSTR)dest = '\0'; - return(FALSE); + if (len) *dest = '\0'; + return FALSE; } - return S_OK; + return TRUE; } @@ -131,11 +128,12 @@ HRESULT WINAPI StrRetToStrNW (LPVOID dest, DWORD len, LPSTRRET src, const ITEMID * NOTES * the pidl is for STRRET OFFSET */ -HRESULT WINAPI StrRetToStrNAW (LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) +BOOL WINAPI StrRetToStrNAW(LPVOID dest, DWORD len, LPSTRRET src, const ITEMIDLIST *pidl) { if(SHELL_OsIsUnicode()) - return StrRetToStrNW (dest, len, src, pidl); - return StrRetToStrNA (dest, len, src, pidl); + return StrRetToStrNW(dest, len, src, pidl); + else + return StrRetToStrNA(dest, len, src, pidl); } /************************* OLESTR functions ****************************/ diff --git a/reactos/lib/shell32/shlexec.c b/reactos/lib/shell32/shlexec.c index ee1fdb93784..d25e156004a 100644 --- a/reactos/lib/shell32/shlexec.c +++ b/reactos/lib/shell32/shlexec.c @@ -332,6 +332,8 @@ static UINT SHELL_ExecuteW(const WCHAR *lpCmd, void *env, BOOL shWait, retval = ERROR_BAD_FORMAT; } + TRACE("returning %u\n", retval); + psei_out->hInstApp = (HINSTANCE)retval; return retval; } @@ -1260,7 +1262,7 @@ BOOL WINAPI ShellExecuteExW32 (LPSHELLEXECUTEINFOW psei, SHELL_ExecuteW32 execfu if (sei_tmp.lpIDList!=psei->lpIDList && sei_tmp.lpIDList) SHFree(sei_tmp.lpIDList); - TRACE("ShellExecuteExW32 retval=%d\n", retval); + TRACE("retval %u\n", retval); if (retval <= 32) { diff --git a/reactos/lib/shell32/shlview.c b/reactos/lib/shell32/shlview.c index ed451c80091..8dd25d54a88 100644 --- a/reactos/lib/shell32/shlview.c +++ b/reactos/lib/shell32/shlview.c @@ -1293,7 +1293,7 @@ static LRESULT ShellView_OnNotify(IShellViewImpl * This, UINT CtlID, LPNMHDR lpn } else /* LVN_GETDISPINFOW */ { - StrRetToStrNW( lpdi->item.pszText, lpdi->item.cchTextMax, &sd.str, NULL); + StrRetToStrNW( ((NMLVDISPINFOW *)lpdi)->item.pszText, lpdi->item.cchTextMax, &sd.str, NULL); TRACE("-- text=%s\n",debugstr_w((WCHAR*)(lpdi->item.pszText))); } } diff --git a/reactos/lib/shell32/undocshell.h b/reactos/lib/shell32/undocshell.h index aa4f36e4f54..695e15a205b 100644 --- a/reactos/lib/shell32/undocshell.h +++ b/reactos/lib/shell32/undocshell.h @@ -34,37 +34,6 @@ extern "C" { /**************************************************************************** * IDList Functions */ -LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl); -LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl); - -LPITEMIDLIST WINAPI ILCombine( - LPCITEMIDLIST iil1, - LPCITEMIDLIST iil2); - -DWORD WINAPI ILGetSize(LPCITEMIDLIST pidl); - -LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST pidl); -LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST pidl); -BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl); - -LPITEMIDLIST WINAPI ILFindChild( - LPCITEMIDLIST pidl1, - LPCITEMIDLIST pidl2); - -LPITEMIDLIST WINAPI ILAppendID( - LPITEMIDLIST pidl, - LPCSHITEMID lpItemID, - BOOL bAddToEnd); - -BOOL WINAPI ILIsEqual( - LPCITEMIDLIST pidl1, - LPCITEMIDLIST pidl2); - -BOOL WINAPI ILIsParent( - LPCITEMIDLIST pidlParent, - LPCITEMIDLIST pidlChild, - BOOL bImmediate); - BOOL WINAPI ILGetDisplayName( LPCITEMIDLIST pidl, LPVOID path); @@ -80,8 +49,6 @@ BOOL WINAPI ILGetDisplayNameEx( LPVOID path, DWORD type); -DWORD WINAPI ILFree(LPITEMIDLIST pidl); - HRESULT WINAPI ILSaveToStream( LPSTREAM pstrm, LPCITEMIDLIST pidl); @@ -95,7 +62,6 @@ void WINAPI ILGlobalFree(LPITEMIDLIST pidl); LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath); LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath); -LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPCVOID lpszPath); HRESULT WINAPI SHILCreateFromPathA ( LPCSTR path, @@ -107,35 +73,14 @@ HRESULT WINAPI SHILCreateFromPathW ( LPITEMIDLIST * ppidl, DWORD *attributes); -HRESULT WINAPI SHILCreateFromPathAW ( - LPCVOID path, - LPITEMIDLIST * ppidl, - DWORD *attributes); - LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR path); LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR path); -LPITEMIDLIST WINAPI ILCreateFromPathAW(LPCVOID path); /* string functions */ -HRESULT WINAPI StrRetToStrNA ( - LPVOID dest, - DWORD len, - LPSTRRET src, - const ITEMIDLIST *pidl); - -HRESULT WINAPI StrRetToStrNW ( - LPVOID dest, - DWORD len, - LPSTRRET src, - const ITEMIDLIST *pidl); - -HRESULT WINAPI StrRetToStrNAW ( - LPVOID dest, - DWORD len, - LPSTRRET src, - const ITEMIDLIST *pidl); +BOOL WINAPI StrRetToStrNA(LPSTR,DWORD,LPSTRRET,const ITEMIDLIST*); +BOOL WINAPI StrRetToStrNW(LPWSTR,DWORD,LPSTRRET,const ITEMIDLIST*); /**************************************************************************** @@ -196,24 +141,10 @@ BOOL WINAPI GetFileNameFromBrowse( LPCSTR lpstrFilter, LPCSTR lpstrTitle); -BOOL WINAPI SHFindFiles( - LPCITEMIDLIST pidlRoot, - LPCITEMIDLIST pidlSavedSearch); - BOOL WINAPI SHFindComputer( LPCITEMIDLIST pidlRoot, LPCITEMIDLIST pidlSavedSearch); -/* SHObjectProperties flags */ -#define OPF_PRINTERNAME 0x01 -#define OPF_PATHNAME 0x02 - -BOOL WINAPI SHObjectProperties( - HWND hwndOwner, - UINT uFlags, - LPCSTR lpstrName, - LPCSTR lpstrParameters); - void WINAPI SHHandleDiskFull(HWND hwndOwner, UINT uDrive); @@ -227,31 +158,10 @@ DWORD WINAPI SHNetConnectionDialog( LPCSTR lpstrRemoteName, DWORD dwType); -int WINAPIV ShellMessageBoxA( - HINSTANCE hInstance, - HWND hWnd, - LPCSTR lpText, - LPCSTR lpCaption, - UINT uType, - ...); - -int WINAPIV ShellMessageBoxW( - HINSTANCE hInstance, - HWND hWnd, - LPCWSTR lpText, - LPCWSTR lpCaption, - UINT uType, - ...); - -#define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox) - /**************************************************************************** * Memory Routines */ -LPVOID WINAPI SHAlloc(ULONG cb); -void WINAPI SHFree(LPVOID pv); - HANDLE WINAPI SHAllocShared( LPVOID pv, ULONG cb, @@ -311,11 +221,6 @@ HICON WINAPI SHGetFileIcon( DWORD dwFileAttributes, UINT uFlags); -int WINAPI SHMapPIDLToSystemImageListIndex( - LPSHELLFOLDER psf, - LPCITEMIDLIST pidl, - UINT * pOpenIndex); - BOOL WINAPI FileIconInit(BOOL bFullInit); /**************************************************************************** @@ -459,58 +364,14 @@ HRESULT WINAPI SHRegisterDragDrop( HRESULT WINAPI SHRevokeDragDrop(HWND hWnd); -HRESULT WINAPI SHDoDragDrop( - HWND hWnd, - LPDATAOBJECT lpDataObject, - LPDROPSOURCE lpDropSource, - DWORD dwOKEffect, - LPDWORD pdwEffect); - BOOL WINAPI DAD_DragEnter(HWND hWnd); -BOOL WINAPI DAD_DragEnterEx( - HWND hWnd, - POINT pt); - -BOOL WINAPI DAD_DragMove(POINT pt); - -/* DAD_AutoScroll return values */ -#define DAD_SCROLL_UP 1 -#define DAD_SCROLL_DOWN 2 -#define DAD_SCROLL_LEFT 4 -#define DAD_SCROLL_RIGHT 8 - -/* DAD_AutoScroll sample structure */ -typedef struct -{ - DWORD dwCount; - DWORD dwLastTime; - BOOL bWrapped; - POINT aptPositions[3]; - DWORD adwTimes[3]; -} SCROLLSAMPLES, *LPSCROLLSAMPLES; - -DWORD WINAPI DAD_AutoScroll(HWND hWnd, - LPSCROLLSAMPLES lpSamples, - LPPOINT lppt); - -BOOL WINAPI DAD_DragLeave(); - BOOL WINAPI DAD_SetDragImageFromListView( HWND hWnd, POINT pt); -BOOL WINAPI DAD_SetDragImage( - HIMAGELIST himlTrack, - LPPOINT lppt); - BOOL WINAPI DAD_ShowDragImage(BOOL bShow); -HRESULT WINAPI SHCreateStdEnumFmtEtc( - DWORD cFormats, - const FORMATETC *lpFormats, - LPENUMFORMATETC *ppenumFormatetc); - HRESULT WINAPI CIDLData_CreateFromIDArray( LPCITEMIDLIST pidlFolder, DWORD cpidlFiles, @@ -844,57 +705,12 @@ HRESULT WINAPI SHCreateLinks( UINT uFlags, LPITEMIDLIST *lppidlLinks); -/* SHGetNewLinkInfo flags */ -#define SHGNLI_PIDL 0x01 -#define SHGNLI_PREFIXNAME 0x02 -#define SHGNLI_NOUNIQUE 0x04 - -BOOL WINAPI SHGetNewLinkInfoA( - LPCSTR pszLinkTo, - LPCSTR pszDir, - LPSTR pszName, - BOOL *pfMustCopy, - UINT uFlags); - -BOOL WINAPI SHGetNewLinkInfoW( - LPCWSTR pszLinkTo, - LPCWSTR pszDir, - LPWSTR pszName, - BOOL *pfMustCopy, - UINT uFlags); -#define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo) - DWORD WINAPI CheckEscapesA(LPSTR string, DWORD len); DWORD WINAPI CheckEscapesW(LPWSTR string, DWORD len); /* policy functions */ BOOL WINAPI SHInitRestricted(LPCVOID unused, LPCVOID inpRegKey); -/* cabinet functions */ - -#include "pshpack1.h" - -typedef struct { - WORD cLength; - WORD nVersion; - BOOL fFullPathTitle:1; - BOOL fSaveLocalView:1; - BOOL fNotShell:1; - BOOL fSimpleDefault:1; - BOOL fDontShowDescBar:1; - BOOL fNewWindowMode:1; - BOOL fShowCompColor:1; - BOOL fDontPrettyNames:1; - BOOL fAdminsCreateCommonGroups:1; - UINT fUnusedFlags:7; - UINT fMenuEnumFilter; -} CABINETSTATE; - -#include "poppack.h" - -BOOL WINAPI ReadCabinetState(CABINETSTATE *, int); -BOOL WINAPI WriteCabinetState(CABINETSTATE *); - #ifdef __cplusplus } /* extern "C" */ #endif /* defined(__cplusplus) */