+2004-01-05 Filip Navara <xnavara@volny.cz>
+
+ * 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 <xnavara@volny.cz>
* include/shlguid.h (IID_IPersistFolder2, IID_IPersistFolder3,
#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
#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
#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
#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
#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")
#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
typedef enum tagSHGDN {
SHGDN_NORMAL=0,
SHGDN_INFOLDER,
+ SHGDN_FOREDITING=0x1000,
+ SHGDN_FORADDRESSBAR=0x4000,
SHGDN_FORPARSING=0x8000
} SHGNO;
typedef enum tagSHCONTF {
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)
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;
#define ISIOI_ICONFILE 0x00000001
#define ISIOI_ICONINDEX 0x00000002
-
#if (_WIN32_WINNT >= 0x0500) /* W2K */
typedef struct {
BOOL fShowAllObjects : 1;
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);