diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 6c4679d28..c1f36cd09 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,22 @@ +2004-01-05 Filip Navara + + * include/prsht.h (LPCPROPSHEETPAGEW): Fix definition. + * include/shlwapi.h (SHRegQueryInfoUSKey[AW]): Fix prototype. + * include/cpl.h (CPL_STARTWPARMS[AW]): Correct. + * include/shellapi.h (ABS_AUTOHIDE, ABS_ALWAYSONTOP, + SEE_MASK_NO_CONSOLE, SEE_MASK_ASYNCOK, SEE_MASK_HMONITOR, + FOF_NOCOPYSECURITYATTRIBS): Add defines. + * include/shlobj.h (BFFM_SETOKTEXT, BFFM_SETEXPANDED, + CSIDL_FLAG_DONT_VERIFY, CSIDL_FLAG_CREATE, CSIDL_FLAG_MASK, + CFSTR_INETURL[AW], SHGDN_FOREDITING, SHGDN_FORADDRESSBAR, + SSF_*): Add defines. + (SHCNF_PATH[AW], SHCNF_PRINTER[AW], CFSTR_FILENAME[AW], + CFSTR_FILENAMEMAP[AW], CFSTR_FILEDESCRIPTOR[AW], CFSTR_SHELLURL, + CMDSTR_NEWFOLDER[AW], CMDSTR_VIEWLIST[AW], CMDSTR_VIEWDETAILS[AW]): + Correct. + (IEnumIDList): Add COBJMACROS. + * include/winuser.h (MIM_*): Add define. + 2004-01-04 Filip Navara * include/shlguid.h (IID_IPersistFolder2, IID_IPersistFolder3, diff --git a/winsup/w32api/include/cpl.h b/winsup/w32api/include/cpl.h index 67c5645bb..aaec59734 100644 --- a/winsup/w32api/include/cpl.h +++ b/winsup/w32api/include/cpl.h @@ -18,7 +18,8 @@ extern "C" { #define CPL_STOP 6 #define CPL_EXIT 7 #define CPL_NEWINQUIRE 8 -#define CPL_STARTWPARMS 9 +#define CPL_STARTWPARMSA 9 +#define CPL_STARTWPARMSW 10 #define CPL_SETUP 200 typedef LONG(APIENTRY *APPLET_PROC)(HWND,UINT,LONG,LONG); typedef struct tagCPLINFO { @@ -48,8 +49,10 @@ typedef struct tagNEWCPLINFOW { WCHAR szHelpFile[128]; } NEWCPLINFOW,*LPNEWCPLINFOW; #ifdef UNICODE +#define CPL_STARTWPARMS CPL_STARTWPARMSW typedef NEWCPLINFOW NEWCPLINFO,*LPNEWCPLINFO; #else +#define CPL_STARTWPARMS CPL_STARTWPARMSA typedef NEWCPLINFOA NEWCPLINFO,*LPNEWCPLINFO; #endif #ifdef __cplusplus diff --git a/winsup/w32api/include/prsht.h b/winsup/w32api/include/prsht.h index 6039311b7..299834b68 100644 --- a/winsup/w32api/include/prsht.h +++ b/winsup/w32api/include/prsht.h @@ -168,7 +168,7 @@ typedef struct _PROPSHEETPAGEW { LPCWSTR pszHeaderSubTitle; #endif } PROPSHEETPAGEW,*LPPROPSHEETPAGEW; -typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEW; +typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW; typedef UINT(CALLBACK *LPFNPSPCALLBACKA)(HWND,UINT,LPPROPSHEETPAGEA); typedef UINT(CALLBACK *LPFNPSPCALLBACKW)(HWND,UINT,LPPROPSHEETPAGEW); typedef int(CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM); diff --git a/winsup/w32api/include/shellapi.h b/winsup/w32api/include/shellapi.h index 2de41657e..0a583077c 100644 --- a/winsup/w32api/include/shellapi.h +++ b/winsup/w32api/include/shellapi.h @@ -12,18 +12,23 @@ extern "C" { #define ABE_TOP 1 #define ABE_RIGHT 2 #define ABE_BOTTOM 3 +#define ABS_AUTOHIDE 1 +#define ABS_ALWAYSONTOP 2 #define SEE_MASK_CLASSNAME 1 #define SEE_MASK_CLASSKEY 3 #define SEE_MASK_IDLIST 4 #define SEE_MASK_INVOKEIDLIST 12 -#define SEE_MASK_ICON 16 -#define SEE_MASK_HOTKEY 32 -#define SEE_MASK_NOCLOSEPROCESS 64 -#define SEE_MASK_CONNECTNETDRV 128 -#define SEE_MASK_FLAG_DDEWAIT 256 -#define SEE_MASK_DOENVSUBST 512 -#define SEE_MASK_FLAG_NO_UI 1024 -#define SEE_MASK_UNICODE 65536 +#define SEE_MASK_ICON 0x10 +#define SEE_MASK_HOTKEY 0x20 +#define SEE_MASK_NOCLOSEPROCESS 0x40 +#define SEE_MASK_CONNECTNETDRV 0x80 +#define SEE_MASK_FLAG_DDEWAIT 0x100 +#define SEE_MASK_DOENVSUBST 0x200 +#define SEE_MASK_FLAG_NO_UI 0x400 +#define SEE_MASK_NO_CONSOLE 0x8000 +#define SEE_MASK_UNICODE 0x10000 +#define SEE_MASK_ASYNCOK 0x100000 +#define SEE_MASK_HMONITOR 0x200000 #define ABM_NEW 0 #define ABM_REMOVE 1 #define ABM_QUERYPOS 2 @@ -70,6 +75,7 @@ extern "C" { #define FOF_SIMPLEPROGRESS 256 #define FOF_NOCONFIRMMKDIR 512 #define FOF_NOERRORUI 1024 +#define FOF_NOCOPYSECURITYATTRIBS 2048 #define PO_DELETE 19 #define PO_RENAME 20 #define PO_PORTCHANGE 32 diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h index 6b1875d7d..216b52337 100644 --- a/winsup/w32api/include/shlobj.h +++ b/winsup/w32api/include/shlobj.h @@ -36,6 +36,8 @@ extern "C" { #define BFFM_ENABLEOK (WM_USER + 101) #define BFFM_SETSELECTIONA (WM_USER + 102) #define BFFM_SETSELECTIONW (WM_USER + 103) +#define BFFM_SETOKTEXT (WM_USER + 105) +#define BFFM_SETEXPANDED (WM_USER + 106) #ifdef UNICODE #define BFFM_SETSTATUSTEXT BFFM_SETSTATUSTEXTW #define BFFM_SETSELECTION BFFM_SETSELECTIONW @@ -73,12 +75,21 @@ extern "C" { #define SHCNE_ALLEVENTS 0x7FFFFFFF #define SHCNE_INTERRUPT 0x80000000 #define SHCNF_IDLIST 0 -#define SHCNF_PATH 1 -#define SHCNF_PRINTER 2 +#define SHCNF_PATHA 1 +#define SHCNF_PRINTERA 2 #define SHCNF_DWORD 3 +#define SHCNF_PATHW 5 +#define SHCNF_PRINTERW 6 #define SHCNF_TYPE 0xFF #define SHCNF_FLUSH 0x1000 #define SHCNF_FLUSHNOWAIT 0x2000 +#ifdef UNICODE +#define SHCNF_PATH SHCNF_PATHW +#define SHCNF_PRINTER SHCNF_PRINTERW +#else +#define SHCNF_PATH SHCNF_PATHA +#define SHCNF_PRINTER SHCNF_PRINTERA +#endif #define SFGAO_CANCOPY DROPEFFECT_COPY #define SFGAO_CANMOVE DROPEFFECT_MOVE #define SFGAO_CANLINK DROPEFFECT_LINK @@ -182,20 +193,32 @@ extern "C" { #define CSIDL_COMMON_OEM_LINKS 58 #define CSIDL_CDBURN_AREA 59 #define CSIDL_COMPUTERSNEARME 61 +#define CSIDL_FLAG_DONT_VERIFY 0x4000 +#define CSIDL_FLAG_CREATE 0x8000 +#define CSIDL_FLAG_MASK 0xFF00 #define CFSTR_SHELLIDLIST TEXT("Shell IDList Array") #define CFSTR_SHELLIDLISTOFFSET TEXT("Shell Object Offsets") #define CFSTR_NETRESOURCES TEXT("Net Resource") #define CFSTR_FILECONTENTS TEXT("FileContents") +#define CFSTR_FILENAMEA TEXT("FileName") +#define CFSTR_FILENAMEMAPA TEXT("FileNameMap") +#define CFSTR_FILEDESCRIPTORA TEXT("FileGroupDescriptor") +#define CFSTR_INETURLA TEXT("UniformResourceLocator") +#define CFSTR_SHELLURL CFSTR_INETURLA +#define CFSTR_FILENAMEW TEXT("FileNameW") +#define CFSTR_FILENAMEMAPW TEXT("FileNameMapW") +#define CFSTR_FILEDESCRIPTORW TEXT("FileGroupDescriptorW") +#define CFSTR_INETURLW TEXT("UniformResourceLocatorW") #ifdef UNICODE -#define CFSTR_FILENAME L"FileNameW" -#define CFSTR_FILENAMEMAP L"FileNameMapW" -#define CFSTR_FILEDESCRIPTOR L"FileGroupDescriptorW" -#define CFSTR_SHELLURL L"UniformResourceLocatorW" +#define CFSTR_FILENAME CFSTR_FILENAMEW +#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPW +#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORW +#define CFSTR_INETURL CFSTR_INETURLW #else -#define CFSTR_FILENAME "FileName" -#define CFSTR_FILENAMEMAP "FileNameMap" -#define CFSTR_FILEDESCRIPTOR "FileGroupDescriptor" -#define CFSTR_SHELLURL "UniformResourceLocator" +#define CFSTR_FILENAME CFSTR_FILENAMEA +#define CFSTR_FILENAMEMAP CFSTR_FILENAMEMAPA +#define CFSTR_FILEDESCRIPTOR CFSTR_FILEDESCRIPTORA +#define CFSTR_INETURL CFSTR_INETURLA #endif #define CFSTR_PRINTERGROUP TEXT("PrinterFriendlyName") #define CFSTR_INDRAGLOOP TEXT("InShellDragLoop") @@ -227,9 +250,21 @@ extern "C" { #define GCS_HELPTEXT GCS_HELPTEXTA #define GCS_VALIDATE GCS_VALIDATEA #endif -#define CMDSTR_NEWFOLDER TEXT("NewFolder") -#define CMDSTR_VIEWLIST TEXT("ViewList") -#define CMDSTR_VIEWDETAILS TEXT("ViewDetails") +#define CMDSTR_NEWFOLDERA "NewFolder" +#define CMDSTR_VIEWLISTA "ViewList" +#define CMDSTR_VIEWDETAILSA "ViewDetails" +#define CMDSTR_NEWFOLDERW L"NewFolder" +#define CMDSTR_VIEWLISTW L"ViewList" +#define CMDSTR_VIEWDETAILSW L"ViewDetails" +#ifdef UNICODE +#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDERW +#define CMDSTR_VIEWLIST CMDSTR_VIEWLISTW +#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILSW +#else +#define CMDSTR_NEWFOLDER CMDSTR_NEWFOLDER +#define CMDSTR_VIEWLIST CMDSTR_VIEWLIST +#define CMDSTR_VIEWDETAILS CMDSTR_VIEWDETAILS +#endif #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY #define CMIC_MASK_ICON SEE_MASK_ICON #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI @@ -355,6 +390,8 @@ typedef struct _DROPFILES { typedef enum tagSHGDN { SHGDN_NORMAL=0, SHGDN_INFOLDER, + SHGDN_FOREDITING=0x1000, + SHGDN_FORADDRESSBAR=0x4000, SHGDN_FORPARSING=0x8000 } SHGNO; typedef enum tagSHCONTF { @@ -482,6 +519,16 @@ typedef struct DECLARE_ENUMERATOR_(IEnumIDList,LPITEMIDLIST); typedef IEnumIDList *LPENUMIDLIST; +#ifdef COBJMACROS +#define IEnumIDList_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) +#define IEnumIDList_Release(T) (T)->lpVtbl->AddRef(T) +#define IEnumIDList_AddRef(T) (T)->lpVtbl->Release(T) +#define IEnumIDList_Next(T,a,b,c) (T)->lpVtbl->Next(T,a,b,c) +#define IEnumIDList_Skip(T,a) (T)->lpVtbl->Skip(T,a) +#define IEnumIDList_Reset(T) (T)->lpVtbl->Reset(T) +#define IEnumIDList_Clone(T,a) (T)->lpVtbl->Clone(T,a) +#endif + #undef INTERFACE #define INTERFACE IContextMenu DECLARE_INTERFACE_(IContextMenu,IUnknown) @@ -1192,8 +1239,22 @@ typedef struct { UINT fRestFlags : 3; } SHELLFLAGSTATE, * LPSHELLFLAGSTATE; +#define SSF_SHOWALLOBJECTS 0x1 +#define SSF_SHOWEXTENSIONS 0x2 +#define SSF_SHOWCOMPCOLOR 0x8 +#define SSF_SHOWSYSFILES 0x20 +#define SSF_DOUBLECLICKINWEBVIEW 0x80 +#define SSF_SHOWATTRIBCOL 0x100 +#define SSF_DESKTOPHTML 0x200 +#define SSF_WIN95CLASSIC 0x400 +#define SSF_DONTPRETTYPATH 0x800 +#define SSF_MAPNETDRVBUTTON 0x1000 +#define SSF_SHOWINFOTIP 0x2000 +#define SSF_HIDEICONS 0x4000 +#define SSF_NOCONFIRMRECYCLE 0x8000 + #undef INTERFACE -#define INTERFACE IShellIconOverlayIdentifier +#define INTERFACE IShellIconOverlayIdentifier DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown) { STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; @@ -1207,7 +1268,6 @@ DECLARE_INTERFACE_(IShellIconOverlayIdentifier,IUnknown) #define ISIOI_ICONFILE 0x00000001 #define ISIOI_ICONINDEX 0x00000002 - #if (_WIN32_WINNT >= 0x0500) /* W2K */ typedef struct { BOOL fShowAllObjects : 1; diff --git a/winsup/w32api/include/shlwapi.h b/winsup/w32api/include/shlwapi.h index b28b88490..764af9517 100644 --- a/winsup/w32api/include/shlwapi.h +++ b/winsup/w32api/include/shlwapi.h @@ -391,8 +391,8 @@ WINSHLWAPI LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOO WINSHLWAPI LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); WINSHLWAPI LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL); WINSHLWAPI LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL); -WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); -WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); +WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS); +WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS); WINSHLWAPI LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); WINSHLWAPI LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); WINSHLWAPI DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD); diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h index c32cee91e..08a568f15 100644 --- a/winsup/w32api/include/winuser.h +++ b/winsup/w32api/include/winuser.h @@ -641,6 +641,14 @@ extern "C" { #define MIIM_STRING 64 #define MIIM_BITMAP 128 #define MIIM_FTYPE 256 +#if (WINVER >= 0x0500) +#define MIM_MAXHEIGHT 1 +#define MIM_BACKGROUND 2 +#define MIM_HELPID 4 +#define MIM_MENUDATA 8 +#define MIM_STYLE 16 +#define MIM_APPLYTOSUBMENUS 0x80000000L +#endif #define MFT_BITMAP 4 #define MFT_MENUBARBREAK 32 #define MFT_MENUBREAK 64