Changeset 4033 for trunk/include


Ignore:
Timestamp:
Aug 18, 2000, 4:04:23 AM (25 years ago)
Author:
phaller
Message:

Shell32 update to WINE

Location:
trunk/include/win
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/win/shell.h

    r3553 r4033  
    1 /* $Id: shell.h,v 1.3 2000-05-18 18:06:13 sandervl Exp $ */
     1/* $Id: shell.h,v 1.4 2000-08-18 02:04:05 phaller Exp $ */
    22
    33/*
     
    99#include "windef.h"
    1010
     11#ifdef __cplusplus
     12extern "C" {
     13#endif /* defined(__cplusplus) */
    1114
    1215/****************************************************************************
     
    6770  BYTE  abID[1];/* first byte in this item */
    6871} SHITEMID,*LPSHITEMID;
     72typedef LPSHITEMID const LPCSHITEMID;
    6973
    7074typedef struct
     
    7781#define  SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
    7882
    79 
    80 
    81 /****************************************************************************
    82 * SHChangeNotifyRegister API
    83 */
    84 typedef struct
    85 { LPITEMIDLIST pidl;
    86   DWORD unknown;
    87 } IDSTRUCT;
    88 
    89 DWORD WINAPI SHChangeNotifyRegister(HWND hwnd,LONG events1,LONG events2,DWORD msg,int count,IDSTRUCT *idlist);
    90 DWORD WINAPI SHChangeNotifyDeregister(LONG x1);
    91 
    9283/****************************************************************************
    9384* SHAddToRecentDocs API
     
    9990
    10091/****************************************************************************
    101 * SHGetSpecialFolderLocation API
    102 */
    103 HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
    104 /****************************************************************************
    105 *  string and path functions
    106 */
    107 BOOL WINAPI PathIsRootA(LPCSTR x);
    108 BOOL WINAPI PathIsRootW(LPCWSTR x);
    109 #define  PathIsRoot WINELIB_NAME_AW(PathIsRoot)
    110 BOOL WINAPI PathIsRootAW(LPCVOID x);
    111 
    112 LPSTR  WINAPI PathAddBackslashA(LPSTR path);
    113 LPWSTR WINAPI PathAddBackslashW(LPWSTR path);
    114 #define  PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
    115 LPVOID  WINAPI PathAddBackslashAW(LPVOID path);
    116 
    117 BOOL  WINAPI PathQualifyA(LPCSTR path);
    118 BOOL WINAPI PathQualifyW(LPCWSTR path);
    119 #define  PathQualify WINELIB_NAME_AW(PathQualify)
    120 BOOL  WINAPI PathQualifyAW(LPCVOID path);
    121 
    122 LPSTR  WINAPI PathQuoteSpacesA(LPCSTR path);
    123 LPWSTR WINAPI PathQuoteSpacesW(LPCWSTR path);
    124 #define  PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
    125 LPVOID  WINAPI PathQuoteSpacesAW(LPCVOID path);
    126 
    127 LPSTR  WINAPI PathCombineA(LPSTR szDest, LPCSTR lpszDir, LPCSTR lpszFile);
    128 LPWSTR WINAPI PathCombineW(LPWSTR szDest, LPCWSTR lpszDir, LPCWSTR lpszFile);
    129 #define  PathCombine WINELIB_NAME_AW(PathCombine)
    130 LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
    131 
    132 LPSTR WINAPI PathFindExtensionA(LPCSTR path);
    133 LPWSTR WINAPI PathFindExtensionW(LPCWSTR path);
    134 #define  PathFindExtension WINELIB_NAME_AW(PathFindExtension)
    135 LPVOID WINAPI PathFindExtensionAW(LPCVOID path);
    136 
    137 LPSTR WINAPI PathGetExtensionA(LPCSTR path);
    138 LPWSTR WINAPI PathGetExtensionW(LPCWSTR path);
    139 #define  PathGetExtension WINELIB_NAME_AW(PathGetExtension)
    140 LPVOID WINAPI PathGetExtensionAW(LPCVOID path);
    141 
    142 LPSTR WINAPI PathRemoveBackslashA(LPSTR lpszPath);
    143 LPWSTR WINAPI PathRemoveBackslashW(LPWSTR lpszPath);
    144 #define  PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
    145 
    146 LPSTR WINAPI PathFindFileNameA(LPCSTR path);
    147 LPWSTR WINAPI PathFindFileNameW(LPCWSTR path);
    148 #define  PathFindFileName WINELIB_NAME_AW(PathFindFileName)
    149 LPVOID WINAPI PathFindFileNameAW(LPCVOID path);
    150 
    151 BOOL WINAPI PathMatchSpecA(LPCSTR x, LPCSTR y);
    152 BOOL WINAPI PathMatchSpecW(LPCWSTR x, LPCWSTR y);
    153 #define  PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
    154 BOOL WINAPI PathMatchSpecAW(LPVOID x, LPVOID y);
    155 
    156 LPSTR WINAPI PathRemoveBlanksA(LPSTR str);
    157 LPWSTR WINAPI PathRemoveBlanksW(LPWSTR str);
    158 #define  PathRemoveBlanks WINELIB_NAME_AW(PathRemoveBlanks)
    159 LPVOID WINAPI PathRemoveBlanksAW(LPVOID str);
    160 
    161 BOOL WINAPI PathIsRelativeA(LPCSTR str);
    162 BOOL WINAPI PathIsRelativeW(LPCWSTR str);
    163 #define  PathIsRelative WINELIB_NAME_AW(PathIsRelative)
    164 BOOL WINAPI PathIsRelativeAW(LPCVOID str);
    165 
    166 BOOL WINAPI PathIsUNCA(LPCSTR str);
    167 BOOL WINAPI PathIsUNCW(LPCWSTR str);
    168 #define  PathIsUNC WINELIB_NAME_AW(PathIsUNC)
    169 BOOL WINAPI PathIsUNCAW(LPCVOID str);
    170 
    171 BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs);
    172 BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs);
    173 #define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
    174 BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs);
    175 
    176 LPSTR WINAPI StrFormatByteSizeA ( DWORD dw, LPSTR pszBuf, UINT cchBuf );
    177 LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf );
    178 #define  StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize)
    179 
    180 BOOL WINAPI PathIsURLA(LPCSTR str);
    181 
    182 /****************************************************************************
    18392*  other functions
    18493*/
    18594
    186 LPVOID WINAPI SHAlloc(DWORD len);
    187 DWORD WINAPI SHFree(LPVOID x);
    188 
    189 #define CSIDL_DESKTOP           0x0000
    190 #define CSIDL_PROGRAMS          0x0002
    191 #define CSIDL_CONTROLS          0x0003
    192 #define CSIDL_PRINTERS          0x0004
    193 #define CSIDL_PERSONAL          0x0005
    194 #define CSIDL_FAVORITES         0x0006
    195 #define CSIDL_STARTUP           0x0007
    196 #define CSIDL_RECENT            0x0008
    197 #define CSIDL_SENDTO            0x0009
    198 #define CSIDL_BITBUCKET         0x000a
    199 #define CSIDL_STARTMENU         0x000b
    200 #define CSIDL_DESKTOPDIRECTORY  0x0010
    201 #define CSIDL_DRIVES            0x0011
    202 #define CSIDL_NETWORK           0x0012
    203 #define CSIDL_NETHOOD           0x0013
    204 #define CSIDL_FONTS             0x0014
    205 #define CSIDL_TEMPLATES         0x0015
    206 #define CSIDL_COMMON_STARTMENU  0x0016
    207 #define CSIDL_COMMON_PROGRAMS   0X0017
    208 #define CSIDL_COMMON_STARTUP    0x0018
    209 #define CSIDL_COMMON_DESKTOPDIRECTORY   0x0019
    210 #define CSIDL_APPDATA           0x001a
    211 #define CSIDL_PRINTHOOD         0x001b
    212 #define CSIDL_ALTSTARTUP        0x001d
    213 #define CSIDL_COMMON_ALTSTARTUP 0x001e
    214 #define CSIDL_COMMON_FAVORITES  0x001f
    215 #define CSIDL_INTERNET_CACHE    0x0020
    216 #define CSIDL_COOKIES           0x0021
    217 #define CSIDL_HISTORY           0x0022
     95#ifdef __cplusplus
     96} /* extern "C" */
     97#endif /* defined(__cplusplus) */
    21898
    21999#endif  /* __WINE_SHELL_H */
  • trunk/include/win/shlguid.h

    r3354 r4033  
    1 /* $Id: shlguid.h,v 1.5 2000-04-09 11:09:10 sandervl Exp $ */
     1/* $Id: shlguid.h,v 1.6 2000-08-18 02:04:07 phaller Exp $ */
    22
    33#ifndef __WINE_SHLGUID_H
     
    66#include "wine/obj_base.h"
    77
     8#define DEFINE_SHLGUID(name, l, w1, w2) DEFINE_OLEGUID(name,l,w1,w2)
     9
    810DEFINE_SHLGUID(CLSID_ShellDesktop,      0x00021400L, 0, 0);
    911DEFINE_SHLGUID(CLSID_ShellLink,         0x00021401L, 0, 0);
     12
     13DEFINE_SHLGUID(CATID_BrowsableShellExt, 0x00021490L, 0, 0);
     14DEFINE_SHLGUID(CATID_BrowseInPlace,     0x00021491L, 0, 0);
     15DEFINE_SHLGUID(CATID_DeskBand,          0x00021492L, 0, 0);
     16DEFINE_SHLGUID(CATID_InfoBand,          0x00021493L, 0, 0);
     17DEFINE_SHLGUID(CATID_CommBand,          0x00021494L, 0, 0);
    1018
    1119/* shell32 formatids */
    1220DEFINE_SHLGUID(FMTID_Intshcut,          0x000214A0L, 0, 0);
    1321DEFINE_SHLGUID(FMTID_InternetSite,      0x000214A1L, 0, 0);
     22
    1423/* command group ids */
    1524DEFINE_SHLGUID(CGID_Explorer,           0x000214D0L, 0, 0);
    1625DEFINE_SHLGUID(CGID_ShellDocView,       0x000214D1L, 0, 0);
     26DEFINE_SHLGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0);
     27DEFINE_SHLGUID(CGID_ExplorerBarDoc,     0x000214D3L, 0, 0);
    1728
    18  /* shell32interface ids */
    1929DEFINE_SHLGUID(IID_INewShortcutHookA,   0x000214E1L, 0, 0);
     30DEFINE_SHLGUID(IID_IShellBrowser,       0x000214E2L, 0, 0);
     31DEFINE_SHLGUID(IID_IShellView,          0x000214E3L, 0, 0);
     32DEFINE_SHLGUID(IID_IContextMenu,        0x000214E4L, 0, 0);
    2033DEFINE_SHLGUID(IID_IShellIcon,          0x000214E5L, 0, 0);
     34DEFINE_SHLGUID(IID_IShellFolder,        0x000214E6L, 0, 0);
     35DEFINE_SHLGUID(IID_IShellExtInit,       0x000214E8L, 0, 0);
    2136DEFINE_SHLGUID(IID_IShellPropSheetExt,  0x000214E9L, 0, 0);
     37DEFINE_SHLGUID(IID_IPersistFolder,      0x000214EAL, 0, 0);
     38DEFINE_SHLGUID(IID_IExtractIconA,       0x000214EBL, 0, 0);
     39DEFINE_SHLGUID(IID_IShellDetails,       0x000214ECL, 0, 0);
     40DEFINE_SHLGUID(IID_IDelayedRelease,     0x000214EDL, 0, 0);
    2241DEFINE_SHLGUID(IID_IShellLinkA,         0x000214EEL, 0, 0);
    23 DEFINE_SHLGUID(IID_IShellCopyHook,      0x000214EFL, 0, 0);
    24 DEFINE_SHLGUID(IID_IFileViewer,         0x000214F0L, 0, 0);
     42DEFINE_SHLGUID(IID_IShellCopyHookA,     0x000214EFL, 0, 0);
     43DEFINE_SHLGUID(IID_IFileViewerA,        0x000214F0L, 0, 0);
     44DEFINE_SHLGUID(IID_ICommDlgBrowser,     0x000214F1L, 0, 0);
     45DEFINE_SHLGUID(IID_IEnumIDList,         0x000214F2L, 0, 0);
    2546DEFINE_SHLGUID(IID_IFileViewerSite,     0x000214F3L, 0, 0);
     47DEFINE_SHLGUID(IID_IContextMenu2,       0x000214F4L, 0, 0);
    2648DEFINE_SHLGUID(IID_IShellExecuteHookA,  0x000214F5L, 0, 0);
    2749DEFINE_SHLGUID(IID_IPropSheetPage,      0x000214F6L, 0, 0);
    2850DEFINE_SHLGUID(IID_INewShortcutHookW,   0x000214F7L, 0, 0);
    2951DEFINE_SHLGUID(IID_IFileViewerW,        0x000214F8L, 0, 0);
     52DEFINE_SHLGUID(IID_IShellLinkW,         0x000214F9L, 0, 0);
     53DEFINE_SHLGUID(IID_IExtractIconW,       0x000214FAL, 0, 0);
    3054DEFINE_SHLGUID(IID_IShellExecuteHookW,  0x000214FBL, 0, 0);
    3155DEFINE_SHLGUID(IID_IShellCopyHookW,     0x000214FCL, 0, 0);
     56DEFINE_SHLGUID(IID_IRemoteComputer,     0x000214FEL, 0, 0);
     57DEFINE_SHLGUID(IID_IQueryInfo,          0x00021500L, 0, 0);
     58
     59#define IID_IFileViewer       WINELIB_NAME_AW(IID_IFileViewer)
     60#define IID_IShellLink        WINELIB_NAME_AW(IID_IShellLink)
     61#define IID_IExtractIcon      WINELIB_NAME_AW(IID_IExtractIcon)
     62#define IID_IShellCopyHook    WINELIB_NAME_AW(IID_IShellCopyHook)
     63#define IID_IShellExecuteHook WINELIB_NAME_AW(IID_IShellExecuteHook)
     64#define IID_INewShortcutHook  WINELIB_NAME_AW(IID_INewShortcutHook)
    3265
    3366DEFINE_GUID (IID_IDockingWindow,         0x012dd920L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
     
    3568
    3669/****************************************************************************
    37 *  undocumented stuff
    38 */
    39 /* the next IID's are the namespace elements of the pidls */
     70 * the next IID's are the namespace elements of the pidls
     71 */
    4072DEFINE_GUID(CLSID_NetworkPlaces, 0x208D2C60, 0x3AEA, 0x1069, 0xA2, 0xD7, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D);
    4173DEFINE_GUID(CLSID_NetworkDomain, 0x46e06680, 0x4bf0, 0x11d1, 0x83, 0xee, 0x00, 0xa0, 0xc9, 0x0d, 0xc8, 0x49);
  • trunk/include/win/shlobj.h

    r3354 r4033  
    1 /* $Id: shlobj.h,v 1.6 2000-04-09 11:09:11 sandervl Exp $ */
     1/* $Id: shlobj.h,v 1.7 2000-08-18 02:04:08 phaller Exp $ */
    22#ifndef __WINE_SHLOBJ_H
    33#define __WINE_SHLOBJ_H
     
    8383typedef GUID SHELLVIEWID;
    8484#define SV_CLASS_NAME   ("SHELLDLL_DefView")
    85 
    86 UINT WINAPI SHMapPIDLToSystemImageListIndex(LPSHELLFOLDER sh, LPITEMIDLIST pidl, UINT * pIndex);
    8785
    8886/****************************************************************************
     
    271269
    272270LPITEMIDLIST WINAPI SHBrowseForFolderA(LPBROWSEINFOA lpbi);
    273 /*LPITEMIDLIST WINAPI SHBrowseForFolder32W(LPBROWSEINFO32W lpbi);*/
     271LPITEMIDLIST WINAPI SHBrowseForFolder32W(LPBROWSEINFOW lpbi);
    274272#define  SHBrowseForFolder WINELIB_NAME_AW(SHBrowseForFolder)
    275273
     
    352350DWORD WINAPI SHGetMalloc(LPMALLOC *lpmal) ;
    353351
    354 /****************************************************************************
    355  *      Shell File Menu API
    356  */
    357 /* FileMenu_Create nSelHeight */
    358 #define FM_FULL_SELHEIGHT       -1;
    359 #define FM_DEFAULT_SELHEIGHT    0
    360 
    361 /* FileMenu_Create uFlags */
    362 #define FMF_SMALL_ICONS         0x00
    363 #define FMF_LARGE_ICONS         0x08
    364 #define FMF_NO_COLUMN_BREAK     0x10
    365 
    366 /* FileMenu_InsertUsingPidl uFlags */
    367 #define FMF_NO_EMPTY_ITEM       0x01
    368 #define FMF_NO_PROGRAM_GROUPS   0x04
    369 
    370 typedef void (* CALLBACK  LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
    371 
    372 /* FileMenu_AppendItem lpszText */
    373 #define FM_SEPARATOR            (LPCSTR)1
    374 #define FM_BLANK_ICON           -1
    375 #define FM_DEFAULT_HEIGHT       0
    376 
    377352/**********************************************************************
    378353 * SHGetSettings ()
    379354 */
    380355typedef struct
    381 {       unsigned int fShowAllObjects : 1;
    382         unsigned int fShowExtensions : 1;
    383         unsigned int fNoConfirmRecycle : 1;
    384         unsigned int fShowSysFiles : 1;
    385 
    386         unsigned int fShowCompColor : 1;
    387         unsigned int fDoubleClickInWebView : 1;
    388         unsigned int fDesktopHTML : 1;
    389         unsigned int fWin95Classic : 1;
    390 
    391         unsigned int fDontPrettyPath : 1;
    392         unsigned int fShowAttribCol : 1;
    393         unsigned int fMapNetDrvBtn : 1;
    394         unsigned int fShowInfoTip : 1;
    395 
    396         unsigned int fHideIcons : 1;
    397         unsigned int fRestFlags : 3;
     356{       BOOL fShowAllObjects : 1;
     357        BOOL fShowExtensions : 1;
     358        BOOL fNoConfirmRecycle : 1;
     359        BOOL fShowSysFiles : 1;
     360
     361        BOOL fShowCompColor : 1;
     362        BOOL fDoubleClickInWebView : 1;
     363        BOOL fDesktopHTML : 1;
     364        BOOL fWin95Classic : 1;
     365
     366        BOOL fDontPrettyPath : 1;
     367        BOOL fShowAttribCol : 1;
     368        BOOL fMapNetDrvBtn : 1;
     369        BOOL fShowInfoTip : 1;
     370
     371        BOOL fHideIcons : 1;
     372        UINT fRestFlags : 3;
    398373} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
    399374
     
    414389#define SSF_HIDEICONS                   0x4000
    415390
    416 /**********************************************************************/
     391/**********************************************************************
     392 * SHChangeNotify
     393 */
     394#define SHCNE_RENAMEITEM        0x00000001
     395#define SHCNE_CREATE            0x00000002
     396#define SHCNE_DELETE            0x00000004
     397#define SHCNE_MKDIR             0x00000008
     398#define SHCNE_RMDIR             0x00000010
     399#define SHCNE_MEDIAINSERTED     0x00000020
     400#define SHCNE_MEDIAREMOVED      0x00000040
     401#define SHCNE_DRIVEREMOVED      0x00000080
     402#define SHCNE_DRIVEADD          0x00000100
     403#define SHCNE_NETSHARE          0x00000200
     404#define SHCNE_NETUNSHARE        0x00000400
     405#define SHCNE_ATTRIBUTES        0x00000800
     406#define SHCNE_UPDATEDIR         0x00001000
     407#define SHCNE_UPDATEITEM        0x00002000
     408#define SHCNE_SERVERDISCONNECT  0x00004000
     409#define SHCNE_UPDATEIMAGE       0x00008000
     410#define SHCNE_DRIVEADDGUI       0x00010000
     411#define SHCNE_RENAMEFOLDER      0x00020000
     412#define SHCNE_FREESPACE         0x00040000
     413
     414#define SHCNE_EXTENDED_EVENT    0x04000000
     415#define SHCNE_ASSOCCHANGED      0x08000000
     416#define SHCNE_DISKEVENTS        0x0002381F
     417#define SHCNE_GLOBALEVENTS      0x0C0581E0
     418#define SHCNE_ALLEVENTS         0x7FFFFFFF
     419#define SHCNE_INTERRUPT         0x80000000
     420
     421#define SHCNEE_ORDERCHANGED     0x00000002
     422
     423#define SHCNF_IDLIST            0x0000
     424#define SHCNF_PATHA             0x0001
     425#define SHCNF_PRINTERA          0x0002
     426#define SHCNF_DWORD             0x0003
     427#define SHCNF_PATHW             0x0005
     428#define SHCNF_PRINTERW          0x0006
     429#define SHCNF_TYPE              0x00FF
     430#define SHCNF_FLUSH             0x1000
     431#define SHCNF_FLUSHNOWAIT       0x2000
     432
     433void WINAPI SHChangeNotifyA(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
     434void WINAPI SHChangeNotifyW(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
     435#define  SHChangeNotify WINELIB_NAME_AW(SHChangeNotify)
     436
     437/****************************************************************************
     438* SHGetSpecialFolderLocation API
     439*/
     440HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
     441
     442#define CSIDL_DESKTOP           0x0000
     443#define CSIDL_INTERNET          0x0001
     444#define CSIDL_PROGRAMS          0x0002
     445#define CSIDL_CONTROLS          0x0003
     446#define CSIDL_PRINTERS          0x0004
     447#define CSIDL_PERSONAL          0x0005
     448#define CSIDL_FAVORITES         0x0006
     449#define CSIDL_STARTUP           0x0007
     450#define CSIDL_RECENT            0x0008
     451#define CSIDL_SENDTO            0x0009
     452#define CSIDL_BITBUCKET         0x000a
     453#define CSIDL_STARTMENU         0x000b
     454#define CSIDL_DESKTOPDIRECTORY  0x0010
     455#define CSIDL_DRIVES            0x0011
     456#define CSIDL_NETWORK           0x0012
     457#define CSIDL_NETHOOD           0x0013
     458#define CSIDL_FONTS             0x0014
     459#define CSIDL_TEMPLATES         0x0015
     460#define CSIDL_COMMON_STARTMENU  0x0016
     461#define CSIDL_COMMON_PROGRAMS   0X0017
     462#define CSIDL_COMMON_STARTUP    0x0018
     463#define CSIDL_COMMON_DESKTOPDIRECTORY   0x0019
     464#define CSIDL_APPDATA           0x001a
     465#define CSIDL_PRINTHOOD         0x001b
     466#define CSIDL_ALTSTARTUP        0x001d
     467#define CSIDL_COMMON_ALTSTARTUP 0x001e
     468#define CSIDL_COMMON_FAVORITES  0x001f
     469#define CSIDL_INTERNET_CACHE    0x0020
     470#define CSIDL_COOKIES           0x0021
     471#define CSIDL_HISTORY           0x0022
     472#define CSIDL_COMMON_APPDATA    0x0023
     473#define CSIDL_WINDOWS           0x0024
     474#define CSIDL_SYSTEM            0x0025
     475#define CSIDL_PROGRAM_FILES     0x0026
     476#define CSIDL_MYPICTURES        0x0027
     477#define CSIDL_PROFILE           0x0028
     478#define CSIDL_SYSTEMX86         0x0029
     479#define CSIDL_PROGRAM_FILESX86  0x002a
     480#define CSIDL_PROGRAM_FILES_COMMON      0x002b
     481#define CSIDL_PROGRAM_FILES_COMMONX86   0x002c
     482#define CSIDL_COMMON_TEMPLATES  0x002d
     483#define CSIDL_COMMON_DOCUMENTS  0x002e
     484#define CSIDL_COMMON_ADMINTOOLS 0x002f
     485#define CSIDL_ADMINTOOLS        0x0030
     486#define CSIDL_CONNECTIONS       0x0031
     487#define CSIDL_FOLDER_MASK       0x00ff
     488
     489#define CSIDL_FLAG_DONT_VERIFY  0x4000
     490#define CSIDL_FLAG_CREATE       0x8000
     491
     492#define CSIDL_FLAG_MASK         0xff00
     493
     494/*
     495 * DROPFILES for CF_HDROP and CF_PRINTERS
     496 */
     497typedef struct _DROPFILES
     498{
     499  DWORD pFiles;
     500  POINT pt;
     501  BOOL  fNC;
     502  BOOL  fWide;
     503} DROPFILES;
    417504
    418505#ifdef __cplusplus
  • trunk/include/win/winbase.h

    r3850 r4033  
    1 /* $Id: winbase.h,v 1.14 2000-07-18 18:30:38 sandervl Exp $ */
     1/* $Id: winbase.h,v 1.15 2000-08-18 02:04:12 phaller Exp $ */
    22
    33#ifndef __WINE_WINBASE_H
     
    10871087        DWORD Reserved;
    10881088}CRITICAL_SECTION;
     1089
     1090#ifdef __WINE__
     1091#define CRITICAL_SECTION_INIT { 0, -1, 0, 0, 0, 0 }
     1092#endif
    10891093
    10901094typedef struct {
  • trunk/include/win/wine/obj_commdlgbrowser.h

    r641 r4033  
    1 /* $Id: obj_commdlgbrowser.h,v 1.5 1999-08-22 22:52:06 sandervl Exp $ */
     1/* $Id: obj_commdlgbrowser.h,v 1.6 2000-08-18 02:04:16 phaller Exp $ */
    22/************************************************************
    33 *    ICommDlgBrowser
     
    1616#endif /* defined(__cplusplus) */
    1717
    18 DEFINE_SHLGUID(IID_ICommDlgBrowser,     0x000214F1L, 0, 0);
    1918typedef struct  ICommDlgBrowser ICommDlgBrowser, *LPCOMMDLGBROWSER;
    2019
  • trunk/include/win/wine/obj_contextmenu.h

    r641 r4033  
    1 /* $Id: obj_contextmenu.h,v 1.5 1999-08-22 22:52:07 sandervl Exp $ */
     1/* $Id: obj_contextmenu.h,v 1.6 2000-08-18 02:04:16 phaller Exp $ */
    22/************************************************************
    33 *    IContextMenu
     
    1515#endif /* defined(__cplusplus) */
    1616
    17 DEFINE_SHLGUID(IID_IContextMenu,        0x000214E4L, 0, 0);
    18 DEFINE_SHLGUID(IID_IContextMenu2,       0x000214F4L, 0, 0);
    1917typedef struct IContextMenu IContextMenu, *LPCONTEXTMENU;
    2018
  • trunk/include/win/wine/obj_enumidlist.h

    r641 r4033  
    1 /* $Id: obj_enumidlist.h,v 1.5 1999-08-22 22:52:07 sandervl Exp $ */
     1/* $Id: obj_enumidlist.h,v 1.6 2000-08-18 02:04:17 phaller Exp $ */
    22/*
    33 * Defines the COM interfaces and APIs related to EnumIDList
     
    2020 * Predeclare the interfaces
    2121 */
    22 DEFINE_SHLGUID(IID_IEnumIDList,         0x000214F2L, 0, 0);
    2322typedef struct IEnumIDList IEnumIDList, *LPENUMIDLIST;
    2423
  • trunk/include/win/wine/obj_extracticon.h

    r641 r4033  
    1 /* $Id: obj_extracticon.h,v 1.5 1999-08-22 22:52:07 sandervl Exp $ */
     1/* $Id: obj_extracticon.h,v 1.6 2000-08-18 02:04:18 phaller Exp $ */
    22/************************************************************
    33 *    IExtractIconA
     
    1515#endif /* defined(__cplusplus) */
    1616
    17 DEFINE_SHLGUID(IID_IExtractIconA,       0x000214EBL, 0, 0);
    18 DEFINE_SHLGUID(IID_IExtractIconW,       0x000214FAL, 0, 0);
     17#define IID_IExtractIcon WINELIB_NAME_AW(IID_IExtractIcon)
    1918typedef struct IExtractIconA IExtractIconA,*LPEXTRACTICONA;
     19#define LPEXTRACTION_WINELIB_NAME_AW(LPEXTRACTICON)
    2020
    2121/* GetIconLocation() input flags*/
  • trunk/include/win/wine/obj_shellbrowser.h

    r641 r4033  
    1 /* $Id: obj_shellbrowser.h,v 1.5 1999-08-22 22:52:10 sandervl Exp $ */
     1/* $Id: obj_shellbrowser.h,v 1.6 2000-08-18 02:04:19 phaller Exp $ */
    22/************************************************************
    33 *    IShellBrowser
     
    2222*/
    2323
    24 DEFINE_SHLGUID(IID_IShellBrowser,       0x000214E2L, 0, 0);
    2524#define SID_SShellBrowser IID_IShellBrowser
    2625
     
    5857#define FCT_ADDTOEND    0x0004
    5958
    60 /* undocumented, found in the web posted by Chris Becke */
    61 #define CWM_SETPATH     (WM_USER+2)
    62 #define CWM_WANTIDLE    (WM_USER+3)
    63 #define CWM_GETSETCURRENTINFO   (WM_USER+4)
    64 #define CWM_SELECTITEM  (WM_USER+5)
    65 #define CWM_STOPWAITING (WM_USER+6)
    66 #define CWM_GETISHELLBROWSER (WM_USER+7)
    67 
    6859#define ICOM_INTERFACE IShellBrowser
    6960#define IShellBrowser_METHODS \
     
    8879
    8980#ifdef ICOM_CINTERFACE
     81/*** IUnknown methods ***/
    9082#define IShellBrowser_QueryInterface(p,a,b)             ICOM_CALL2(QueryInterface,p,a,b)
    9183#define IShellBrowser_AddRef(p)                         ICOM_CALL(AddRef,p)
    9284#define IShellBrowser_Release(p)                        ICOM_CALL(Release,p)
     85/*** IShellBrowser methods ***/
    9386#define IShellBrowser_GetWindow(p,a)                    ICOM_CALL1(GetWindow,p,a)
    9487#define IShellBrowser_ContextSensitiveHelp(p,a)         ICOM_CALL1(ContextSensitiveHelp,p,a)
  • trunk/include/win/wine/obj_shellextinit.h

    r641 r4033  
    1 /* $Id: obj_shellextinit.h,v 1.5 1999-08-22 22:52:10 sandervl Exp $ */
     1/* $Id: obj_shellextinit.h,v 1.6 2000-08-18 02:04:20 phaller Exp $ */
    22/************************************************************
    33 *    IShellExtInit
     
    1717
    1818typedef struct  IShellExtInit IShellExtInit, *LPSHELLEXTINIT;
    19 DEFINE_SHLGUID(IID_IShellExtInit,       0x000214E8L, 0, 0);
    2019
    2120#define ICOM_INTERFACE IShellExtInit
     
    2928
    3029#ifdef ICOM_CINTERFACE
     30/*** IUnknown methods ***/
    3131#define IShellExtInit_QueryInterface(p,a,b)     ICOM_CALL2(QueryInterface,p,a,b)
    3232#define IShellExtInit_AddRef(p)                 ICOM_CALL(AddRef,p)
    3333#define IShellExtInit_Release(p)                ICOM_CALL(Release,p)
     34/*** IShellExtInit methods ***/
    3435#define IShellExtInit_Initialize(p,a,b,c)       ICOM_CALL3(Initialize,p,a,b,c)
    3536#endif
  • trunk/include/win/wine/obj_shellfolder.h

    r3242 r4033  
    1 /* $Id: obj_shellfolder.h,v 1.7 2000-03-26 16:29:41 cbratschi Exp $ */
     1/* $Id: obj_shellfolder.h,v 1.8 2000-08-18 02:04:21 phaller Exp $ */
    22/*
    33 * Defines the COM interfaces and APIs related to IShellFolder
     
    2121
    2222/****************************************************************************
    23 *  STRRET (temporary, move it away)
     23*  STRRET
    2424*/
    2525#define STRRET_WSTR     0x0000
     
    4545 * Predeclare the interfaces
    4646 */
    47 DEFINE_SHLGUID(IID_IShellFolder,        0x000214E6L, 0, 0);
    4847typedef struct IShellFolder IShellFolder, *LPSHELLFOLDER;
    4948
    50 DEFINE_SHLGUID(IID_IPersistFolder,      0x000214EAL, 0, 0);
    5149typedef struct IPersistFolder IPersistFolder, *LPPERSISTFOLDER;
     50
     51DEFINE_GUID(IID_IPersistFolder2, 0x1ac3d9f0L, 0x175C, 0x11D1, 0x95, 0xBE, 0x00, 0x60, 0x97, 0x97, 0xEA, 0x4F);
     52typedef struct IPersistFolder2 IPersistFolder2, *LPPERSISTFOLDER2;
    5253
    5354DEFINE_GUID(IID_IShellFolder2,  0xB82C5AA8, 0xA41B, 0x11D2, 0xBE, 0x32, 0x0, 0xc0, 0x4F, 0xB9, 0x36, 0x61);
     
    329330#define IPersistFolder_Initialize(p,a)          ICOM_CALL1(Initialize,p,a)
    330331
     332/*****************************************************************************
     333 * IPersistFolder2 interface
     334 */
     335
     336#define ICOM_INTERFACE IPersistFolder2
     337#define IPersistFolder2_METHODS \
     338    ICOM_METHOD1( HRESULT, GetCurFolder, LPITEMIDLIST*, pidl)
     339#define IPersistFolder2_IMETHODS \
     340    IPersist_IMETHODS \
     341    IPersistFolder_METHODS \
     342    IPersistFolder2_METHODS
     343ICOM_DEFINE(IPersistFolder2, IPersistFolder)
     344#undef ICOM_INTERFACE
     345
     346/*** IUnknown methods ***/
     347#define IPersistFolder2_QueryInterface(p,a,b)   ICOM_CALL2(QueryInterface,p,a,b)
     348#define IPersistFolder2_AddRef(p)               ICOM_CALL (AddRef,p)
     349#define IPersistFolder2_Release(p)              ICOM_CALL (Release,p)
     350/*** IPersist methods ***/
     351#define IPersistFolder2_GetClassID(p,a)         ICOM_CALL1(GetClassID,p,a)
     352/*** IPersistFolder methods ***/
     353#define IPersistFolder2_Initialize(p,a)         ICOM_CALL1(Initialize,p,a)
     354/*** IPersistFolder2 methods ***/
     355#define IPersistFolder2_GetCurFolder(p,a)       ICOM_CALL1(GetCurFolder,p,a)
     356
    331357#ifdef __cplusplus
    332358} /* extern "C" */
    333359#endif /* defined(__cplusplus) */
    334360
    335 #endif /* __WINE_WINE_OBJ_SHELLLINK_H */
     361#endif /* __WINE_WINE_OBJ_SHELLFOLDER_H */
  • trunk/include/win/wine/obj_shelllink.h

    r641 r4033  
    1 /* $Id: obj_shelllink.h,v 1.5 1999-08-22 22:52:10 sandervl Exp $ */
     1/* $Id: obj_shelllink.h,v 1.6 2000-08-18 02:04:23 phaller Exp $ */
    22/*
    33 * Defines the COM interfaces and APIs related to IShellLink.
     
    2020 * Predeclare the interfaces
    2121 */
    22 DEFINE_SHLGUID(IID_IShellLink,          0x000214EEL, 0, 0);
    23 typedef struct IShellLink IShellLink,*LPSHELLLINK;
    24 #define IShellLinkA IShellLink
    25 
    26 DEFINE_SHLGUID(IID_IShellLinkW,         0x000214F9L, 0, 0);
     22typedef struct IShellLinkA IShellLinkA,*LPSHELLLINK;
    2723typedef struct IShellLinkW IShellLinkW,*LPSHELLLINKW;
    2824
     
    4642 * IShellLink interface
    4743 */
    48 #define ICOM_INTERFACE IShellLink
    49 #define IShellLink_METHODS \
     44#define ICOM_INTERFACE IShellLinkA
     45#define IShellLinkA_METHODS \
    5046    ICOM_METHOD4( HRESULT, GetPath, LPSTR, pszFile, INT, cchMaxPath, WIN32_FIND_DATAA *, pfd, DWORD, fFlags) \
    5147    ICOM_METHOD1( HRESULT, GetIDList, LPITEMIDLIST *, ppidl) \
     
    6662    ICOM_METHOD2( HRESULT, Resolve, HWND, hwnd, DWORD, fFlags) \
    6763    ICOM_METHOD1( HRESULT, SetPath, LPCSTR, pszFile)
    68 #define IShellLink_IMETHODS \
     64#define IShellLinkA_IMETHODS \
    6965    IUnknown_IMETHODS \
    70     IShellLink_METHODS
    71 ICOM_DEFINE(IShellLink,IUnknown)
     66    IShellLinkA_METHODS
     67ICOM_DEFINE(IShellLinkA,IUnknown)
    7268#undef ICOM_INTERFACE
    7369
    7470#ifdef ICOM_CINTERFACE
    7571/*** IUnknown methods ***/
    76 #define IShellLink_QueryInterface(p,a,b)        ICOM_CALL2(QueryInterface,p,a,b)
    77 #define IShellLink_AddRef(p)                    ICOM_CALL (AddRef,p)
    78 #define IShellLink_Release(p)                   ICOM_CALL (Release,p)
     72#define IShellLinkA_QueryInterface(p,a,b)       ICOM_CALL2(QueryInterface,p,a,b)
     73#define IShellLinkA_AddRef(p)                   ICOM_CALL (AddRef,p)
     74#define IShellLinkA_Release(p)                  ICOM_CALL (Release,p)
    7975/*** IShellLink methods ***/
    80 #define IShellLink_GetPath(p,a,b,c,d)           ICOM_CALL4(GetPath,p,a,b,c,d)
    81 #define IShellLink_GetIDList(p,a)               ICOM_CALL1(GetIDList,p,a)
    82 #define IShellLink_SetIDList(p,a)               ICOM_CALL1(SetIDList,p,a)
    83 #define IShellLink_GetDescription(p,a,b)        ICOM_CALL2(GetDescription,p,a,b)
    84 #define IShellLink_SetDescription(p,a)          ICOM_CALL1(SetDescription,p,a)
    85 #define IShellLink_GetWorkingDirectory(p,a,b)   ICOM_CALL2(GetWorkingDirectory,p,a,b)
    86 #define IShellLink_SetWorkingDirectory(p,a)     ICOM_CALL1(SetWorkingDirectory,p,a)
    87 #define IShellLink_GetArguments(p,a,b)          ICOM_CALL2(GetArguments,p,a,b)
    88 #define IShellLink_SetArguments(p,a)            ICOM_CALL1(SetArguments,p,a)
    89 #define IShellLink_GetHotkey(p,a)               ICOM_CALL1(GetHotkey,p,a)
    90 #define IShellLink_SetHotkey(p,a)               ICOM_CALL1(SetHotkey,p,a)
    91 #define IShellLink_GetShowCmd(p,a)              ICOM_CALL1(GetShowCmd,p,a)
    92 #define IShellLink_SetShowCmd(p,a)              ICOM_CALL1(SetShowCmd,p,a)
    93 #define IShellLink_GetIconLocation(p,a,b,c)     ICOM_CALL3(GetIconLocation,p,a,b,c)
    94 #define IShellLink_SetIconLocation(p,a,b)       ICOM_CALL2(SetIconLocation,p,a,b)
    95 #define IShellLink_SetRelativePath(p,a,b)       ICOM_CALL2(SetRelativePath,p,a,b)
    96 #define IShellLink_Resolve(p,a,b)               ICOM_CALL2(Resolve,p,a,b)
    97 #define IShellLink_SetPath(p,a)                 ICOM_CALL1(SetPath,p,a)
     76#define IShellLinkA_GetPath(p,a,b,c,d)          ICOM_CALL4(GetPath,p,a,b,c,d)
     77#define IShellLinkA_GetIDList(p,a)              ICOM_CALL1(GetIDList,p,a)
     78#define IShellLinkA_SetIDList(p,a)              ICOM_CALL1(SetIDList,p,a)
     79#define IShellLinkA_GetDescription(p,a,b)       ICOM_CALL2(GetDescription,p,a,b)
     80#define IShellLinkA_SetDescription(p,a)         ICOM_CALL1(SetDescription,p,a)
     81#define IShellLinkA_GetWorkingDirectory(p,a,b)  ICOM_CALL2(GetWorkingDirectory,p,a,b)
     82#define IShellLinkA_SetWorkingDirectory(p,a)    ICOM_CALL1(SetWorkingDirectory,p,a)
     83#define IShellLinkA_GetArguments(p,a,b)         ICOM_CALL2(GetArguments,p,a,b)
     84#define IShellLinkA_SetArguments(p,a)           ICOM_CALL1(SetArguments,p,a)
     85#define IShellLinkA_GetHotkey(p,a)              ICOM_CALL1(GetHotkey,p,a)
     86#define IShellLinkA_SetHotkey(p,a)              ICOM_CALL1(SetHotkey,p,a)
     87#define IShellLinkA_GetShowCmd(p,a)             ICOM_CALL1(GetShowCmd,p,a)
     88#define IShellLinkA_SetShowCmd(p,a)             ICOM_CALL1(SetShowCmd,p,a)
     89#define IShellLinkA_GetIconLocation(p,a,b,c)    ICOM_CALL3(GetIconLocation,p,a,b,c)
     90#define IShellLinkA_SetIconLocation(p,a,b)      ICOM_CALL2(SetIconLocation,p,a,b)
     91#define IShellLinkA_SetRelativePath(p,a,b)      ICOM_CALL2(SetRelativePath,p,a,b)
     92#define IShellLinkA_Resolve(p,a,b)              ICOM_CALL2(Resolve,p,a,b)
     93#define IShellLinkA_SetPath(p,a)                        ICOM_CALL1(SetPath,p,a)
    9894#endif
    9995
  • trunk/include/win/wine/obj_shellview.h

    r1866 r4033  
    1 /* $Id: obj_shellview.h,v 1.6 1999-11-28 12:33:11 sandervl Exp $ */
     1/* $Id: obj_shellview.h,v 1.7 2000-08-18 02:04:23 phaller Exp $ */
    22/************************************************************
    33 *    IShellView
     
    2424typedef struct IShellBrowser IShellBrowser, *LPSHELLBROWSER;
    2525
    26 DEFINE_SHLGUID(IID_IShellView,          0x000214E3L, 0, 0);
    2726typedef struct IShellView IShellView, *LPSHELLVIEW;
    2827
     
    6362#define FCIDM_SHVIEW_SELECTALL  0x7021
    6463#define FCIDM_SHVIEW_INVERTSELECTION    0x7022
     64 
    6565#define FCIDM_SHVIEW_BIGICON    0x7029
    6666#define FCIDM_SHVIEW_SMALLICON  0x702A
    6767#define FCIDM_SHVIEW_LISTVIEW   0x702B 
    6868#define FCIDM_SHVIEW_REPORTVIEW 0x702C
     69/* 0x7030-0x703f are used by the shellbrowser */
    6970#define FCIDM_SHVIEW_AUTOARRANGE        0x7031 
    7071#define FCIDM_SHVIEW_SNAPTOGRID 0x7032
     72 
    7173#define FCIDM_SHVIEW_HELP       0x7041
    72 
     74#define FCIDM_SHVIEW_RENAME     0x7050
     75#define FCIDM_SHVIEW_CREATELINK 0x7051
     76#define FCIDM_SHVIEW_NEWLINK    0x7052
     77#define FCIDM_SHVIEW_NEWFOLDER  0x7053
     78 
     79#define FCIDM_SHVIEW_REFRESH    0x7100 /* fixme */
     80#define FCIDM_SHVIEW_EXPLORE    0x7101 /* fixme */
     81#define FCIDM_SHVIEW_OPEN       0x7102 /* fixme */
     82 
    7383#define FCIDM_SHVIEWLAST        0x7fff
    7484#define FCIDM_BROWSERFIRST      0xA000
     
    7888#define FCIDM_TB_SMALLICON      0xA003
    7989#define FCIDM_TB_REPORTVIEW     0xA004
     90#define FCIDM_TB_DESKTOP        0xA005   /* fixme */
    8091
    8192#define FCIDM_BROWSERLAST       0xbf00
     
    121132        ICOM_METHOD (HRESULT, SaveViewState) \
    122133        ICOM_METHOD2(HRESULT, SelectItem, LPCITEMIDLIST, pidlItem, UINT, uFlags) \
    123         ICOM_METHOD3(HRESULT, GetItemObject, UINT, uItem, REFIID, riid, LPVOID*, ppv)
     134        ICOM_METHOD3(HRESULT, GetItemObject, UINT, uItem, REFIID, riid, LPVOID*, ppv) \
     135        ICOM_METHOD1(HRESULT, EditItem, LPCITEMIDLIST, pidlItem)
    124136#define IShellView_IMETHODS \
    125137        IOleWindow_IMETHODS \
     
    146158#define IShellView_SelectItem(p,a,b)            ICOM_CALL2(SelectItem,p,a,b)
    147159#define IShellView_GetItemObject(p,a,b,c)       ICOM_CALL3(GetItemObject,p,a,b,c)
     160/* WINE specific */
     161#define IShellView_EditItem(p,a)ICOM_CALL1(EditItem,p,a)
    148162
    149163#ifdef __cplusplus
  • trunk/include/win/wine/undocshell.h

    r1556 r4033  
    1 /* $Id: undocshell.h,v 1.3 1999-11-02 20:36:05 sandervl Exp $ */
     1/* $Id: undocshell.h,v 1.4 2000-08-18 02:04:23 phaller Exp $ */
    22#ifndef __WINE_UNDOCSHELL_H
    33#define __WINE_UNDOCSHELL_H
     
    55#include "windef.h"
    66#include "shell.h"
     7#include "commctrl.h"
    78#include "wine/obj_shellfolder.h"       /* strret */
     9#include "wine/obj_shellview.h"
     10#include "wine/obj_dragdrop.h"
    811
    912#ifdef __cplusplus
    1013extern "C" {
    1114#endif /* defined(__cplusplus) */
     15
    1216
    1317/****************************************************************************
     
    1620LPITEMIDLIST WINAPI ILClone (LPCITEMIDLIST pidl);
    1721LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST pidl);
    18 LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST iil1,LPCITEMIDLIST iil2);
     22
     23LPITEMIDLIST WINAPI ILCombine(
     24        LPCITEMIDLIST iil1,
     25        LPCITEMIDLIST iil2);
    1926
    2027DWORD WINAPI ILGetSize(LPITEMIDLIST pidl);
     
    2330LPITEMIDLIST WINAPI ILFindLastID(LPITEMIDLIST pidl);
    2431BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl);
    25 LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST pidl1,LPCITEMIDLIST pidl2);
    26 
    27 BOOL WINAPI ILIsEqual(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
    28 
    29 BOOL WINAPI ILGetDisplayName(LPCITEMIDLIST pidl,LPSTR path);
     32
     33LPITEMIDLIST WINAPI ILFindChild(
     34        LPCITEMIDLIST pidl1,
     35        LPCITEMIDLIST pidl2);
     36
     37LPITEMIDLIST WINAPI ILAppendID(
     38        LPITEMIDLIST pidl,
     39        LPCSHITEMID lpItemID,
     40        BOOL bAddToEnd);
     41
     42BOOL WINAPI ILIsEqual(
     43        LPCITEMIDLIST pidl1,
     44        LPCITEMIDLIST pidl2);
     45
     46BOOL WINAPI ILIsParent(
     47        LPCITEMIDLIST pidlParent,
     48        LPCITEMIDLIST pidlChild,
     49        BOOL bImmediate);
     50
     51BOOL WINAPI ILGetDisplayName(
     52        LPCITEMIDLIST pidl,
     53        LPSTR path);
    3054
    3155DWORD WINAPI ILFree(LPITEMIDLIST pidl);
    3256
    33 LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPSTR lpszPath);
    34 LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPWSTR lpszPath);
    35 LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPVOID lpszPath);
    36 
    37 HRESULT WINAPI SHILCreateFromPathA (LPCSTR path, LPITEMIDLIST * ppidl, DWORD *attributes);
    38 HRESULT WINAPI SHILCreateFromPathW (LPCWSTR path, LPITEMIDLIST * ppidl, DWORD *attributes);
    39 HRESULT WINAPI SHILCreateFromPathAW (LPCVOID path, LPITEMIDLIST * ppidl, DWORD *attributes);
     57HRESULT WINAPI ILSaveToStream(
     58        LPSTREAM pstrm,
     59        LPCITEMIDLIST pidl);
     60
     61HRESULT WINAPI ILLoadFromStream(
     62        LPSTREAM pstrm,
     63        LPITEMIDLIST *ppidl);
     64
     65LPITEMIDLIST WINAPI ILGlobalClone(LPCITEMIDLIST pidl);
     66void WINAPI ILGlobalFree(LPCITEMIDLIST pidl);
     67
     68LPITEMIDLIST WINAPI SHSimpleIDListFromPathA (LPCSTR lpszPath);
     69LPITEMIDLIST WINAPI SHSimpleIDListFromPathW (LPCWSTR lpszPath);
     70LPITEMIDLIST WINAPI SHSimpleIDListFromPathAW (LPCVOID lpszPath);
     71
     72HRESULT WINAPI SHILCreateFromPathA (
     73        LPCSTR path,
     74        LPITEMIDLIST * ppidl,
     75        DWORD *attributes);
     76
     77HRESULT WINAPI SHILCreateFromPathW (
     78        LPCWSTR path,
     79        LPITEMIDLIST * ppidl,
     80        DWORD *attributes);
     81
     82HRESULT WINAPI SHILCreateFromPathAW (
     83        LPCVOID path,
     84        LPITEMIDLIST * ppidl,
     85        DWORD *attributes);
    4086
    4187LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR path);
     
    4389LPITEMIDLIST WINAPI ILCreateFromPathAW(LPCVOID path);
    4490
     91HRESULT WINAPI SHBindToParent(
     92        LPCITEMIDLIST pidl,
     93        REFIID riid,
     94        LPVOID *ppv,
     95        LPCITEMIDLIST *ppidlLast);
     96
    4597/*
    4698        string functions
    4799*/
    48 HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast);
    49 
    50 HRESULT WINAPI StrRetToStrNA (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl);
    51 HRESULT WINAPI StrRetToStrNW (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl);
    52 HRESULT WINAPI StrRetToStrNAW (LPVOID dest, DWORD len, LPSTRRET src, LPITEMIDLIST pidl);
    53 
    54 HRESULT WINAPI StrRetToBufA (LPSTRRET src, LPITEMIDLIST pidl, LPSTR dest, DWORD len);
    55 HRESULT WINAPI StrRetToBufW (LPSTRRET src, LPITEMIDLIST pidl, LPWSTR dest, DWORD len);
     100HRESULT WINAPI StrRetToStrNA (
     101        LPVOID dest,
     102        DWORD len,
     103        LPSTRRET src,
     104        LPITEMIDLIST pidl);
     105
     106HRESULT WINAPI StrRetToStrNW (
     107        LPVOID dest,
     108        DWORD len,
     109        LPSTRRET src,
     110        LPITEMIDLIST pidl);
     111
     112HRESULT WINAPI StrRetToStrNAW (
     113        LPVOID dest,
     114        DWORD len,
     115        LPSTRRET src,
     116        LPITEMIDLIST pidl);
     117
     118HRESULT WINAPI StrRetToBufA (
     119        LPSTRRET src,
     120        LPITEMIDLIST pidl,
     121        LPSTR dest,
     122        DWORD len);
     123
     124HRESULT WINAPI StrRetToBufW (
     125        LPSTRRET src,
     126        LPITEMIDLIST pidl,
     127        LPWSTR dest,
     128        DWORD len);
     129
     130/****************************************************************************
     131* SHChangeNotifyRegister API
     132*/
     133#define SHCNF_ACCEPT_INTERRUPTS         0x0001
     134#define SHCNF_ACCEPT_NON_INTERRUPTS     0x0002
     135#define SHCNF_NO_PROXY                  0x8001
     136
     137typedef struct
     138{
     139        LPCITEMIDLIST pidlPath;
     140        BOOL bWatchSubtree;
     141} NOTIFYREGISTER, *LPNOTIFYREGISTER;
     142
     143typedef const LPNOTIFYREGISTER LPCNOTIFYREGISTER;
     144
     145typedef struct
     146{
     147        USHORT  cb;
     148        DWORD   dwItem1;
     149        DWORD   dwItem2;
     150} DWORDITEMID;
     151
     152HANDLE WINAPI SHChangeNotifyRegister(
     153        HWND hwnd,
     154        LONG dwFlags,
     155        LONG wEventMask,
     156        DWORD uMsg,
     157        int cItems,
     158        LPCNOTIFYREGISTER lpItems);
     159
     160BOOL WINAPI SHChangeNotifyDeregister(HANDLE hNotify);
     161
     162HANDLE WINAPI SHChangeNotification_Lock(
     163        HANDLE hMemoryMap,
     164        DWORD dwProcessId,
     165        LPCITEMIDLIST **lppidls,
     166        LPLONG lpwEventId);
     167
     168BOOL WINAPI SHChangeNotification_Unlock(HANDLE hLock);
     169
     170/****************************************************************************
     171 * Shell Common Dialogs
     172 */
     173
     174BOOL WINAPI PickIconDlg(
     175        HWND hwndOwner,
     176        LPSTR lpstrFile,
     177        DWORD nMaxFile,
     178        LPDWORD lpdwIconIndex);
     179
     180/* RunFileDlg flags */
     181#define RFF_NOBROWSE       0x01
     182#define RFF_NODEFAULT      0x02
     183#define RFF_CALCDIRECTORY  0x04
     184#define RFF_NOLABEL        0x08
     185#define RFF_NOSEPARATEMEM  0x20  /* NT only */
     186
     187/* RunFileFlg notification structure */
     188typedef struct
     189{
     190  NMHDR   hdr;
     191  LPCSTR  lpFile;
     192  LPCSTR  lpDirectory;
     193  int     nShow;
     194} NM_RUNFILEDLG, * LPNM_RUNFILEDLG;
     195
     196/* RunFileDlg notification return values */
     197#define RF_OK      0x00
     198#define RF_CANCEL  0x01
     199#define RF_RETRY   0x02
     200
     201void WINAPI RunFileDlg(
     202        HWND hwndOwner,
     203        HICON hIcon,
     204        LPCSTR lpstrDirectory,
     205        LPCSTR lpstrTitle,
     206        LPCSTR lpstrDescription,
     207        UINT uFlags);
     208
     209void WINAPI ExitWindowsDialog(HWND hwndOwner);
     210
     211int  WINAPI RestartDialog(
     212        HWND hwndOwner,
     213        LPCSTR lpstrReason,
     214        UINT uFlags);
     215
     216BOOL WINAPI GetFileNameFromBrowse(
     217        HWND hwndOwner,
     218        LPSTR lpstrFile,
     219        DWORD nMaxFile,
     220        LPCSTR lpstrInitialDir,
     221        LPCSTR lpstrDefExt,
     222        LPCSTR lpstrFilter,
     223        LPCSTR lpstrTitle);
     224
     225BOOL WINAPI SHFindFiles(
     226        LPCITEMIDLIST pidlRoot,
     227        LPCITEMIDLIST pidlSavedSearch);
     228
     229BOOL WINAPI SHFindComputer(
     230        LPCITEMIDLIST pidlRoot,
     231        LPCITEMIDLIST pidlSavedSearch);
     232 
     233/* SHObjectProperties flags */
     234#define OPF_PRINTERNAME  0x01
     235#define OPF_PATHNAME     0x02
     236
     237BOOL WINAPI SHObjectProperties(
     238        HWND hwndOwner,
     239        UINT uFlags,
     240        LPCSTR lpstrName,
     241        LPCSTR lpstrParameters);
     242
     243void WINAPI SHHandleDiskFull(HWND hwndOwner,
     244        UINT uDrive);
     245
     246int  WINAPI SHOutOfMemoryMessageBox(
     247        HWND hwndOwner,
     248        LPCSTR lpCaption,
     249        UINT uType);
     250
     251DWORD WINAPI SHNetConnectionDialog(
     252        HWND hwndOwner,
     253        LPCSTR lpstrRemoteName,
     254        DWORD dwType);
     255
     256int WINAPIV ShellMessageBoxA(
     257        HINSTANCE hInstance,
     258        HWND hWnd,
     259        LPCSTR lpText,
     260        LPCSTR lpCaption,
     261        UINT uType,
     262        ...);
     263
     264int WINAPIV ShellMessageBoxW(
     265        HINSTANCE hInstance,
     266        HWND hWnd,
     267        LPCWSTR lpText,
     268        LPCWSTR lpCaption,
     269        UINT uType,
     270        ...);
     271
     272#define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox)
     273
     274/****************************************************************************
     275 * Memory Routines
     276 */
     277
     278LPVOID WINAPI SHAlloc(ULONG cb);
     279void WINAPI SHFree(LPVOID pv);
     280
     281HANDLE WINAPI SHAllocShared(
     282        LPVOID pv,
     283        ULONG cb,
     284        DWORD pid);
     285
     286BOOL WINAPI SHFreeShared(
     287        HANDLE hMem,
     288        DWORD pid);
     289
     290LPVOID WINAPI SHLockShared(
     291        HANDLE hMem,
     292        DWORD pid);
     293
     294BOOL WINAPI SHUnlockShared(LPVOID pv);
     295
     296/****************************************************************************
     297 * Cabinet Window Messages
     298 */
     299
     300#define CWM_SETPATH           (WM_USER + 2)
     301#define CWM_WANTIDLE          (WM_USER + 3)
     302#define CWM_GETSETCURRENTINFO (WM_USER + 4)
     303#define CWM_SELECTITEM        (WM_USER + 5)
     304#define CWM_SELECTITEMSTR     (WM_USER + 6)
     305#define CWM_GETISHELLBROWSER  (WM_USER + 7)
     306#define CWM_TESTPATH          (WM_USER + 9)
     307#define CWM_STATECHANGE       (WM_USER + 10)
     308#define CWM_GETPATH           (WM_USER + 12)
     309
     310/* CWM_TESTPATH types */
     311#define CWTP_ISEQUAL  0
     312#define CWTP_ISCHILD  1
     313
     314/* CWM_TESTPATH structure */
     315typedef struct
     316{
     317        DWORD dwType;
     318        ITEMIDLIST idl;
     319} CWTESTPATHSTRUCT,* LPCWTESTPATHSTRUCT;
     320
     321/****************************************************************************
     322 * System Imagelist Routines
     323 */
     324
     325int WINAPI Shell_GetCachedImageIndex(
     326        LPCSTR lpszFileName,
     327        UINT nIconIndex,
     328        BOOL bSimulateDoc);
     329
     330BOOL WINAPI Shell_GetImageLists(
     331        HIMAGELIST *lphimlLarge,
     332        HIMAGELIST *lphimlSmall);
     333
     334HICON WINAPI SHGetFileIcon(
     335        DWORD dwReserved,
     336        LPCSTR lpszPath,
     337        DWORD dwFileAttributes,
     338        UINT uFlags);
     339
     340int WINAPI SHMapPIDLToSystemImageListIndex(
     341        LPSHELLFOLDER psf,
     342        LPCITEMIDLIST pidl,
     343        UINT * pOpenIndex);
     344
     345BOOL WINAPI FileIconInit(BOOL bFullInit);
     346
     347/****************************************************************************
     348 * File Menu Routines
     349 */
     350/* FileMenu_Create nSelHeight constants */
     351#define FM_DEFAULT_SELHEIGHT  -1
     352#define FM_FULL_SELHEIGHT     0
     353
     354/* FileMenu_Create flags */
     355#define FMF_SMALL_ICONS      0x00
     356#define FMF_LARGE_ICONS      0x08
     357#define FMF_NO_COLUMN_BREAK  0x10
     358
     359HMENU WINAPI FileMenu_Create(
     360        COLORREF crBorderColor,
     361        int nBorderWidth,
     362        HBITMAP hBorderBmp,
     363        int nSelHeight,
     364        UINT uFlags);
     365
     366void WINAPI FileMenu_Destroy(HMENU hMenu);
     367
     368/* FileMenu_AppendItem constants */
     369#define FM_SEPARATOR       (LPCSTR)1
     370#define FM_BLANK_ICON      -1
     371#define FM_DEFAULT_HEIGHT  0
     372
     373BOOL WINAPI FileMenu_AppendItem(
     374        HMENU hMenu,
     375        LPCSTR lpszText,
     376        UINT uID,
     377        int iIcon,
     378        HMENU hMenuPopup,
     379        int nItemHeight);
     380
     381/* FileMenu_InsertUsingPidl flags */
     382#define FMF_NO_EMPTY_ITEM      0x01
     383#define FMF_NO_PROGRAM_GROUPS  0x04
     384
     385/* FileMenu_InsertUsingPidl callback function */
     386//typedef void CALLBACK (*LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
     387typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
     388
     389int WINAPI FileMenu_InsertUsingPidl(
     390        HMENU hMenu,
     391        UINT uID,
     392        LPCITEMIDLIST pidl,
     393        UINT uFlags,
     394        UINT uEnumFlags,
     395        LPFNFMCALLBACK lpfnCallback);
     396
     397int WINAPI FileMenu_ReplaceUsingPidl(
     398        HMENU hMenu,
     399        UINT uID,
     400        LPCITEMIDLIST pidl,
     401        UINT uEnumFlags,
     402        LPFNFMCALLBACK lpfnCallback);
     403
     404void WINAPI FileMenu_Invalidate(HMENU hMenu);
     405
     406HMENU WINAPI FileMenu_FindSubMenuByPidl(
     407        HMENU hMenu,
     408        LPCITEMIDLIST pidl);
     409
     410BOOL WINAPI FileMenu_TrackPopupMenuEx(
     411        HMENU hMenu,
     412        UINT uFlags,
     413        int x,
     414        int y,
     415        HWND hWnd,
     416        LPTPMPARAMS lptpm);
     417
     418BOOL WINAPI FileMenu_GetLastSelectedItemPidls(
     419        UINT uReserved,
     420        LPITEMIDLIST *ppidlFolder,
     421        LPITEMIDLIST *ppidlItem);
     422
     423LRESULT WINAPI FileMenu_MeasureItem(
     424        HWND hWnd,
     425        LPMEASUREITEMSTRUCT lpmis);
     426
     427LRESULT WINAPI FileMenu_DrawItem(
     428        HWND hWnd,
     429        LPDRAWITEMSTRUCT lpdis);
     430
     431BOOL WINAPI FileMenu_InitMenuPopup(HMENU hMenu);
     432
     433void WINAPI FileMenu_AbortInitMenu(void);
     434
     435LRESULT WINAPI FileMenu_HandleMenuChar(
     436        HMENU hMenu,
     437        WPARAM wParam);
     438
     439BOOL WINAPI FileMenu_DeleteAllItems(HMENU hMenu);
     440
     441BOOL WINAPI FileMenu_DeleteItemByCmd(
     442        HMENU hMenu,
     443        UINT uID);
     444
     445BOOL WINAPI FileMenu_DeleteItemByIndex(
     446        HMENU hMenu,
     447        UINT uPos);
     448
     449BOOL WINAPI FileMenu_DeleteMenuItemByFirstID(
     450        HMENU hMenu,
     451        UINT uID);
     452
     453BOOL WINAPI FileMenu_DeleteSeparator(HMENU hMenu);
     454
     455BOOL WINAPI FileMenu_EnableItemByCmd(
     456        HMENU hMenu,
     457        UINT uID,
     458        BOOL bEnable);
     459
     460DWORD WINAPI FileMenu_GetItemExtent(
     461        HMENU hMenu,
     462        UINT uPos);
     463
     464int WINAPI FileMenu_AppendFilesForPidl(
     465        HMENU hMenu,
     466        LPCITEMIDLIST pidl,
     467        BOOL bAddSeparator);
     468
     469int WINAPI FileMenu_AddFilesForPidl(
     470        HMENU hMenu,
     471        UINT uReserved,
     472        UINT uID,
     473        LPCITEMIDLIST pidl,
     474        UINT uFlags,
     475        UINT uEnumFlags,
     476        LPFNFMCALLBACK lpfnCallback);
     477
     478/****************************************************************************
     479 * Drag And Drop Routines
     480 */
     481HRESULT WINAPI SHLoadOLE(DWORD dwFlags);
     482
     483HRESULT WINAPI SHRegisterDragDrop(
     484        HWND hWnd,
     485        LPDROPTARGET lpDropTarget);
     486
     487HRESULT WINAPI SHRevokeDragDrop(HWND hWnd);
     488
     489HRESULT WINAPI SHDoDragDrop(
     490        HWND hWnd,
     491        LPDATAOBJECT lpDataObject,
     492        LPDROPSOURCE lpDropSource,
     493        DWORD dwOKEffect,
     494        LPDWORD pdwEffect);
     495
     496BOOL WINAPI DAD_DragEnter(HWND hWnd);
     497
     498BOOL WINAPI DAD_DragEnterEx(
     499        HWND hWnd,
     500        POINT pt);
     501
     502BOOL WINAPI DAD_DragMove(POINT pt);
     503
     504/* DAD_AutoScroll return values */
     505#define DAD_SCROLL_UP    1
     506#define DAD_SCROLL_DOWN  2
     507#define DAD_SCROLL_LEFT  4
     508#define DAD_SCROLL_RIGHT 8
     509
     510/* DAD_AutoScroll sample structure */
     511typedef struct
     512{
     513        DWORD  dwCount;
     514        DWORD  dwLastTime;
     515        BOOL   bWrapped;
     516        POINT  aptPositions[3];
     517        DWORD  adwTimes[3];
     518} SCROLLSAMPLES, *LPSCROLLSAMPLES;
     519
     520DWORD WINAPI DAD_AutoScroll(HWND hWnd,
     521        LPSCROLLSAMPLES lpSamples,
     522        LPPOINT lppt);
     523
     524BOOL WINAPI DAD_DragLeave();
     525
     526BOOL WINAPI DAD_SetDragImageFromListView(
     527        HWND hWnd,
     528        POINT pt);
     529
     530BOOL WINAPI DAD_SetDragImage(
     531        HIMAGELIST himlTrack,
     532        LPPOINT lppt);
     533
     534BOOL WINAPI DAD_ShowDragImage(BOOL bShow);
     535
     536HRESULT WINAPI SHCreateStdEnumFmtEtc(
     537        DWORD cFormats,
     538        const FORMATETC *lpFormats,
     539        LPENUMFORMATETC *ppenumFormatetc);
     540
     541HRESULT WINAPI CIDLData_CreateFromIDArray(
     542        LPCITEMIDLIST pidlFolder,
     543        DWORD cpidlFiles,
     544        LPCITEMIDLIST *lppidlFiles,
     545        LPDATAOBJECT *ppdataObject);
     546
     547/****************************************************************************
     548 * Path Manipulation Routines
     549 */
     550
     551LPSTR WINAPI PathAppend(
     552        LPSTR lpszPath1,
     553        LPCSTR lpszPath2);
     554
     555LPSTR  WINAPI PathCombineA(LPSTR szDest, LPCSTR lpszDir, LPCSTR lpszFile);
     556LPWSTR WINAPI PathCombineW(LPWSTR szDest, LPCWSTR lpszDir, LPCWSTR lpszFile);
     557#define  PathCombine WINELIB_NAME_AW(PathCombine)
     558LPVOID WINAPI PathCombineAW(LPVOID szDest, LPCVOID lpszDir, LPCVOID lpszFile);
     559
     560LPSTR  WINAPI PathAddBackslashA(LPSTR path);   
     561LPWSTR WINAPI PathAddBackslashW(LPWSTR path);   
     562#define  PathAddBackslash WINELIB_NAME_AW(PathAddBackslash)
     563LPVOID  WINAPI PathAddBackslashAW(LPVOID path);
     564
     565LPSTR WINAPI PathRemoveBackslashA(LPSTR lpszPath);
     566LPWSTR WINAPI PathRemoveBackslashW(LPWSTR lpszPath);
     567#define  PathRemoveBackslash WINELIB_NAME_AW(PathRemoveBackslash)
     568
     569LPSTR WINAPI PathBuildRoot(
     570        LPSTR lpszPath,
     571        int drive);
     572
     573LPSTR WINAPI PathFindExtensionA(LPCSTR path);
     574LPWSTR WINAPI PathFindExtensionW(LPCWSTR path);
     575#define  PathFindExtension WINELIB_NAME_AW(PathFindExtension)
     576LPVOID WINAPI PathFindExtensionAW(LPCVOID path);
     577
     578LPVOID WINAPI PathGetExtensionAW(LPCVOID lpszPath);
     579
     580LPSTR WINAPI PathGetArgs(LPCSTR lpszPath);
     581
     582BOOL WINAPI PathRemoveFileSpec(LPSTR lpszPath);
     583
     584LPSTR WINAPI PathGetShortPath(LPSTR lpszPath);
     585
     586LPSTR  WINAPI PathQuoteSpacesA(LPSTR path);     
     587LPWSTR WINAPI PathQuoteSpacesW(LPWSTR path);   
     588#define  PathQuoteSpaces WINELIB_NAME_AW(PathQuoteSpaces)
     589LPVOID  WINAPI PathQuoteSpacesAW(LPVOID path); 
     590
     591void WINAPI PathUnquoteSpaces(LPSTR lpszPath);
     592
     593BOOL WINAPI PathIsUNCA(LPCSTR lpszPath);
     594BOOL WINAPI PathIsUNCW(LPCWSTR lpszPath);
     595#define  PathIsUNC WINELIB_NAME_AW(PathIsUNC)
     596BOOL WINAPI PathIsUNCAW(LPCVOID lpszPath);
     597
     598BOOL WINAPI PathIsRelativeA(LPCSTR lpszPath);
     599BOOL WINAPI PathIsRelativeW(LPCWSTR lpszPath);
     600#define  PathIsRelative WINELIB_NAME_AW(PathIsRelative)
     601BOOL WINAPI PathIsRelativeAW(LPCVOID lpszPath);
     602
     603BOOL WINAPI PathIsRootA(LPCSTR x);
     604BOOL WINAPI PathIsRootW(LPCWSTR x);
     605#define  PathIsRoot WINELIB_NAME_AW(PathIsRoot)
     606BOOL WINAPI PathIsRootAW(LPCVOID x);
     607
     608BOOL WINAPI PathIsExe(LPCSTR lpszPath);
     609
     610BOOL WINAPI PathIsDirectory(LPCSTR lpszPath);
     611
     612BOOL WINAPI PathFileExists(LPCSTR lpszPath);
     613
     614BOOL WINAPI PathMatchSpecA(
     615        LPCSTR lpszPath,
     616        LPCSTR lpszSpec);
     617BOOL WINAPI PathMatchSpecW(
     618        LPCWSTR lpszPath,
     619        LPCWSTR lpszSpec);
     620#define  PathMatchSpec WINELIB_NAME_AW(PathMatchSpec)
     621BOOL WINAPI PathMatchSpecAW(LPVOID lpszPath, LPVOID lpszSpec);
     622
     623BOOL WINAPI PathMakeUniqueName(
     624        LPSTR lpszBuffer,
     625        DWORD dwBuffSize,
     626        LPCSTR lpszShortName,
     627        LPCSTR lpszLongName,
     628        LPCSTR lpszPathName);
     629
     630BOOL WINAPI PathYetAnotherMakeUniqueName(
     631        LPSTR lpszBuffer,
     632        LPCSTR lpszPathName,
     633        LPCSTR lpszShortName,
     634        LPCSTR lpszLongName);
     635
     636BOOL WINAPI PathFindOnPath(
     637        LPSTR lpszFile,
     638        LPCSTR *alpszPaths);
     639
     640/* PathCleanupSpec return values */
     641#define PCS_REPLACEDCHARS  0x00000001
     642#define PCS_REMOVEDCHARS   0x00000002
     643#define PCS_SHORTENED      0x00000004
     644#define PCS_PATHTOOLONG    0x80000008
     645
     646DWORD WINAPI PathCleanupSpec(
     647        LPCSTR lpszPath,
     648        LPSTR lpszFile);
     649
     650BOOL  WINAPI PathQualifyA(LPCSTR path);
     651BOOL WINAPI PathQualifyW(LPCWSTR path);
     652#define  PathQualify WINELIB_NAME_AW(PathQualify)
     653BOOL  WINAPI PathQualifyAW(LPCVOID path);       
     654
     655
     656/* PathResolve flags */
     657#define PRF_CHECKEXISTANCE  0x01
     658#define PRF_EXECUTABLE      0x02
     659#define PRF_QUALIFYONPATH   0x04
     660#define PRF_WINDOWS31       0x08
     661
     662BOOL WINAPI PathResolve(
     663        LPSTR lpszPath,
     664        LPCSTR *alpszPaths,
     665        DWORD dwFlags);
     666
     667BOOL WINAPI PathSetDlgItemPath(
     668        HWND hDlg,
     669        int nIDDlgItem,
     670        LPCSTR lpszPath);
     671
     672/* PathProcessCommand flags */
     673#define PPCF_QUOTEPATH        0x01 /* implies PPCF_INCLUDEARGS */
     674#define PPCF_INCLUDEARGS      0x02
     675#define PPCF_NODIRECTORIES    0x10
     676#define PPCF_DONTRESOLVE      0x20
     677#define PPCF_PATHISRELATIVE   0x40
     678
     679int WINAPI PathProcessCommand(
     680        LPCWSTR lpszPath,
     681        LPWSTR lpszBuff,
     682        DWORD dwBuffSize,
     683        DWORD dwFlags);
     684
     685void WINAPI PathStripPath(LPWSTR lpszPath);
     686
     687BOOL WINAPI PathStripToRoot(LPWSTR lpszPath);
     688
     689void WINAPI PathRemoveArgs(LPWSTR lpszPath);
     690
     691void WINAPI PathRemoveExtension(LPWSTR lpszPath);
     692
     693int WINAPI PathParseIconLocation(LPWSTR lpszPath);
     694
     695BOOL WINAPI PathIsSameRoot(
     696        LPCWSTR lpszPath1,
     697        LPCWSTR lpszPath2);
     698
     699BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs);
     700BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs);
     701#define PathFindOnPath WINELIB_NAME_AW(PathFindOnPath)
     702BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs);
     703
     704LPSTR WINAPI StrFormatByteSizeA ( DWORD dw, LPSTR pszBuf, UINT cchBuf );
     705LPWSTR WINAPI StrFormatByteSizeW ( DWORD dw, LPWSTR pszBuf, UINT cchBuf );
     706#define  StrFormatByteSize WINELIB_NAME_AW(StrFormatByteSize)
     707
     708/****************************************************************************
     709 * Shell Namespace Routines
     710 */
     711
     712/* SHCreateShellFolderViewEx callback function */
     713typedef HRESULT (CALLBACK* LPFNSFVCALLBACK)(
     714        DWORD dwUser,
     715        LPSHELLFOLDER pshf,
     716        HWND hWnd,
     717        UINT uMsg,
     718        WPARAM wParam,
     719        LPARAM lParam);
     720
     721/* SHCreateShellFolderViewEx structure */
     722typedef struct
     723{
     724  DWORD            dwSize;
     725  LPSHELLFOLDER    pshf;
     726  DWORD            dwUser;
     727  LPCITEMIDLIST    pidlFolder;
     728  DWORD            dwEventId;
     729  LPFNSFVCALLBACK  lpfnCallback;
     730  UINT             uViewMode;
     731} SHELLFOLDERVIEWINFO, * LPSHELLFOLDERVIEWINFO;
     732typedef const SHELLFOLDERVIEWINFO * LPCSHELLFOLDERVIEWINFO;
     733
     734HRESULT WINAPI SHCreateShellFolderViewEx(
     735        LPCSHELLFOLDERVIEWINFO pshfvi,
     736        LPSHELLVIEW *ppshv);
     737
     738/* SHCreateShellFolderViewEx callback messages */
     739#define SFVCB_ADDTOMENU           0x0001
     740#define SFVCB_INVOKECOMMAND       0x0002
     741#define SFVCB_GETMENUHELP         0x0003
     742#define SFVCB_GETTOOLBARTIP       0x0004
     743#define SFVCB_GETTOOLBARINFO      0x0005
     744#define SFVCB_ADDTOOLBARITEMS     0x0006
     745#define SFVCB_INITMENUPOPUP       0x0007
     746#define SFVCB_SELECTIONCHANGED    0x0008
     747#define SFVCB_DRAWMENUITEM        0x0009
     748#define SFVCB_MEASUREMENUITEM     0x000A
     749#define SFVCB_EXITMENULOOP        0x000B
     750#define SFVCB_VIEWRELEASE         0x000C
     751#define SFVCB_GETNAMELENGTH       0x000D
     752#define SFVCB_CHANGENOTIFY        0x000E
     753#define SFVCB_WINDOWCREATED       0x000F
     754#define SFVCB_WINDOWCLOSING       0x0010
     755#define SFVCB_LISTREFRESHED       0x0011
     756#define SFVCB_WINDOWFOCUSED       0x0012
     757#define SFVCB_REGISTERCOPYHOOK    0x0014
     758#define SFVCB_COPYHOOKCALLBACK    0x0015
     759#define SFVCB_GETDETAILSOF        0x0017
     760#define SFVCB_COLUMNCLICK         0x0018
     761#define SFVCB_GETCHANGENOTIFYPIDL 0x0019
     762#define SFVCB_GETESTIMATEDCOUNT   0x001A
     763#define SFVCB_ADJUSTVIEWMODE      0x001B
     764#define SFVCB_REMOVEFROMMENU      0x001C
     765#define SFVCB_ADDINGOBJECT        0x001D
     766#define SFVCB_REMOVINGOBJECT      0x001E
     767#define SFVCB_UPDATESTATUSBAR     0x001F
     768#define SFVCB_ISSLOWREFRESH       0x0020
     769#define SFVCB_GETCOMMANDDIR       0x0021
     770#define SFVCB_GETCOLUMNSTREAM     0x0022
     771#define SFVCB_CANSELECTALL        0x0023
     772#define SFVCB_DRAGSUCCEEDED       0x0024
     773#define SFVCB_ISSTRICTREFRESH     0x0025
     774#define SFVCB_ISCHILDOBJECT       0x0026
     775
     776/* Generic structure used by several messages */
     777typedef struct
     778{
     779  DWORD          dwReserved;
     780  DWORD          dwReserved2;
     781  LPCITEMIDLIST  pidl;
     782  LPDWORD        lpdwUser;
     783} SFVCBINFO, * LPSFVCBINFO;
     784typedef const SFVCBINFO * LPCSFVCBINFO;
     785
     786/* SFVCB_ADDTOMENU structure */
     787typedef struct 
     788{
     789  HMENU  hMenu;
     790  UINT   indexMenu;
     791  UINT   idCmdFirst;
     792  UINT   idCmdLast;
     793} SFVMENUINFO, * LPSFVMENUINFO;
     794
     795/* SFVCB_GETTOOLBARINFO structure */
     796typedef struct
     797{
     798  UINT  nButtons;
     799  UINT  uFlags;
     800} SFVTOOLBARINFO, * LPSFVTOOLBARINFO;
     801
     802/* SFVTOOLBARINFO flags */
     803typedef enum
     804{
     805  SFVTI_ADDTOEND   = 0,
     806  SFVTI_ADDTOFRONT = 1,
     807  SFVTI_OVERWRITE  = 2
     808} SFVTIF;
     809
     810/* SFVCB_SELECTIONCHANGED structure */
     811typedef struct
     812{
     813  UINT           uOldState;
     814  UINT           uNewState;
     815  LPCITEMIDLIST  pidl;
     816  LPDWORD        lpdwUser;
     817} SFVSELECTSTATE, * LPSFVSELECTSTATE;
     818typedef const SFVSELECTSTATE * LPCSFVSELECTSTATE;
     819
     820/* SFVCB_COPYHOOKCALLBACK structure */
     821typedef struct
     822{
     823  HWND    hwnd;
     824  UINT    wFunc;
     825  UINT    wFlags;
     826  LPCSTR  pszSrcFile;
     827  DWORD   dwSrcAttribs;
     828  LPCSTR  pszDestFile;
     829  DWORD   dwDestAttribs;
     830} SFVCOPYHOOKINFO, * LPSFVCOPYHOOKINFO;
     831typedef const SFVCOPYHOOKINFO * LPCSFVCOPYHOOKINFO;
     832
     833/* SFVCB_GETDETAILSOF structure */
     834typedef struct
     835{
     836  LPCITEMIDLIST  pidl;
     837  int            fmt;
     838  int            cx;
     839  STRRET         lpText;
     840} SFVCOLUMNINFO, * LPSFVCOLUMNINFO;
     841
     842int WINAPI SHShellFolderView_Message(
     843        HWND hwndCabinet,
     844        DWORD dwMessage,
     845        DWORD dwParam);
     846
     847/* SHShellFolderView_Message messages */
     848#define SFVM_REARRANGE          0x0001
     849#define SFVM_GETARRANGECOLUMN   0x0002
     850#define SFVM_ADDOBJECT          0x0003
     851#define SFVM_GETITEMCOUNT       0x0004
     852#define SFVM_GETITEMPIDL        0x0005
     853#define SFVM_REMOVEOBJECT       0x0006
     854#define SFVM_UPDATEOBJECT       0x0007
     855#define SFVM_SETREDRAW          0x0008
     856#define SFVM_GETSELECTEDOBJECTS 0x0009
     857#define SFVM_ISDROPONSOURCE     0x000A
     858#define SFVM_MOVEICONS          0x000B
     859#define SFVM_GETDRAGPOINT       0x000C
     860#define SFVM_GETDROPPOINT       0x000D
     861#define SFVM_SETOBJECTPOS       0x000E
     862#define SFVM_ISDROPONBACKGROUND 0x000F
     863#define SFVM_CUTOBJECTS         0x0010
     864#define SFVM_TOGGLEAUTOARRANGE  0x0011
     865#define SFVM_LINEUPICONS        0x0012
     866#define SFVM_GETAUTOARRANGE     0x0013
     867#define SFVM_GETSELECTEDCOUNT   0x0014
     868#define SFVM_GETITEMSPACING     0x0015
     869#define SFVM_REFRESHOBJECT      0x0016
     870#define SFVM_SETCLIPBOARDPOINTS 0x0017
     871
     872/****************************************************************************
     873 * Misc Stuff
     874 */
     875
     876/* SHWaitForFileToOpen flags */
     877#define SHWFF_ADD     0x01
     878#define SHWFF_REMOVE  0x02
     879#define SHWFF_WAIT    0x04
     880
     881BOOL WINAPI SHWaitForFileToOpen(
     882        LPCITEMIDLIST pidl,
     883        DWORD dwFlags,
     884        DWORD dwTimeout);
     885
     886WORD WINAPI ArrangeWindows(
     887        HWND hwndParent,
     888        DWORD dwReserved,
     889        LPCRECT lpRect,
     890        WORD cKids,
     891        CONST HWND * lpKids);
     892
     893/* RegisterShellHook types */
     894#define RSH_DEREGISTER        0
     895#define RSH_REGISTER          1
     896#define RSH_REGISTER_PROGMAN  2
     897#define RSH_REGISTER_TASKMAN  3
     898
     899BOOL WINAPI RegisterShellHook(
     900        HWND hWnd,
     901        DWORD dwType);
     902
     903/* SHCreateDefClassObject callback function */
     904//typedef HRESULT CALLBACK (*LPFNCDCOCALLBACK)(
     905typedef HRESULT (CALLBACK *LPFNCDCOCALLBACK)(
     906        LPUNKNOWN pUnkOuter,
     907        REFIID riidObject,
     908        LPVOID *ppvObject);
     909
     910HRESULT WINAPI SHCreateDefClassObject(
     911        REFIID riidFactory,
     912        LPVOID *ppvFactory,
     913        LPFNCDCOCALLBACK lpfnCallback,
     914        LPDWORD lpdwUsage,
     915        REFIID riidObject);
     916
     917HRESULT WINAPI SHCoCreateInstance(
     918        LPCSTR lpszClsid,
     919        REFCLSID rClsid,
     920        LPUNKNOWN pUnkOuter,
     921        REFIID riid,
     922        LPVOID *ppv);
     923
     924void WINAPI SHFreeUnusedLibraries();
     925
     926/* SHCreateLinks flags */
     927#define SHCLF_PREFIXNAME       0x01
     928#define SHCLF_CREATEONDESKTOP  0x02
     929
     930HRESULT WINAPI SHCreateLinks(
     931        HWND hWnd,
     932        LPCSTR lpszDir,
     933        LPDATAOBJECT lpDataObject,
     934        UINT uFlags,
     935        LPITEMIDLIST *lppidlLinks);
     936
     937/* SHGetNewLinkInfo flags */
     938#define SHGNLI_PIDL        0x01
     939#define SHGNLI_PREFIXNAME  0x02
     940#define SHGNLI_NOUNIQUE    0x04
     941
     942BOOL WINAPI SHGetNewLinkInfoA(
     943        LPCSTR pszLinkTo,
     944        LPCSTR pszDir,
     945        LPSTR pszName,
     946        BOOL *pfMustCopy,
     947        UINT uFlags);
     948
     949BOOL WINAPI SHGetNewLinkInfoW(
     950        LPCWSTR pszLinkTo,
     951        LPCWSTR pszDir,
     952        LPWSTR pszName,
     953        BOOL *pfMustCopy,
     954        UINT uFlags);
     955#define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo)
     956
     957/* policy functions */
     958BOOL WINAPI SHInitRestricted(LPSTR, LPSTR);
     959
    56960#ifdef __cplusplus
    57961} /* extern "C" */
Note: See TracChangeset for help on using the changeset viewer.