Commit in reactos on MAIN
include/wine/shlguid.h+10-761.3 -> 1.4
            /shlobj.h+13-8921.3 -> 1.4
            /shobjidl.h+17-42411.3 -> 1.4
            /winnetwk.h+9-3791.1 -> 1.2
w32api/include/shlguid.h+61.1 -> 1.2
              /shlobj.h+250-11.2 -> 1.3
              /winnetwk.h+1-11.1 -> 1.2
lib/shell32/shlfileop.c+3-31.4 -> 1.5
           /shellord.c+8-91.3 -> 1.4
           /shellole.c+1-11.3 -> 1.4
           /shell32_main.c+1-11.5 -> 1.6
           /pidl.c+1-11.20 -> 1.21
+320-5605
12 modified files
Minimize Wine porting headers

reactos/include/wine
shlguid.h 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- shlguid.h	6 Jan 2004 17:21:34 -0000	1.3
+++ shlguid.h	29 Jun 2004 13:40:40 -0000	1.4
@@ -1,62 +1,24 @@
-/*
- * Copyright (C) 1999 Juergen Schmied
+/* $Id: shlguid.h,v 1.4 2004/06/29 13:40:40 gvg Exp $
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * Compatibility header
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This header is wrapper to allow compilation of Wine DLLs under ReactOS
+ * build system. It contains definitions commonly refered to as Wineisms
+ * and definitions that are missing in w32api.
  */
 
+#include_next <shlguid.h>
+
 #ifndef __WINE_SHLGUID_H
 #define __WINE_SHLGUID_H
 
-#define DEFINE_SHLGUID(name, l, w1, w2) DEFINE_OLEGUID(name,l,w1,w2)
-
 DEFINE_SHLGUID(CLSID_ShellDesktop,      0x00021400L, 0, 0);
 DEFINE_SHLGUID(CLSID_ShellLink,         0x00021401L, 0, 0);
 
-DEFINE_SHLGUID(CATID_BrowsableShellExt, 0x00021490L, 0, 0);
-DEFINE_SHLGUID(CATID_BrowseInPlace,     0x00021491L, 0, 0);
-DEFINE_SHLGUID(CATID_DeskBand,          0x00021492L, 0, 0);
-DEFINE_SHLGUID(CATID_InfoBand,          0x00021493L, 0, 0);
-DEFINE_SHLGUID(CATID_CommBand,          0x00021494L, 0, 0);
-
-/* shell32 formatids */
-DEFINE_SHLGUID(FMTID_Intshcut,          0x000214A0L, 0, 0);
-DEFINE_SHLGUID(FMTID_InternetSite,      0x000214A1L, 0, 0);
-
 /* command group ids */
 DEFINE_SHLGUID(CGID_Explorer,           0x000214D0L, 0, 0);
 DEFINE_SHLGUID(CGID_ShellDocView,       0x000214D1L, 0, 0);
-DEFINE_SHLGUID(CGID_ShellServiceObject, 0x000214D2L, 0, 0);
-DEFINE_SHLGUID(CGID_ExplorerBarDoc,     0x000214D3L, 0, 0);
-
-DEFINE_SHLGUID(IID_INewShortcutHookA,   0x000214E1L, 0, 0);
-DEFINE_SHLGUID(IID_IShellIcon,          0x000214E5L, 0, 0);
-DEFINE_SHLGUID(IID_IShellPropSheetExt,  0x000214E9L, 0, 0);
-DEFINE_SHLGUID(IID_IShellDetails,       0x000214ECL, 0, 0);
-DEFINE_SHLGUID(IID_IDelayedRelease,     0x000214EDL, 0, 0);
-DEFINE_SHLGUID(IID_IShellCopyHookA,     0x000214EFL, 0, 0);
-DEFINE_SHLGUID(IID_IFileViewerA,        0x000214F0L, 0, 0);
-DEFINE_SHLGUID(IID_IFileViewerSite,     0x000214F3L, 0, 0);
-DEFINE_SHLGUID(IID_IPropSheetPage,      0x000214F6L, 0, 0);
-DEFINE_SHLGUID(IID_INewShortcutHookW,   0x000214F7L, 0, 0);
-DEFINE_SHLGUID(IID_IFileViewerW,        0x000214F8L, 0, 0);
-DEFINE_SHLGUID(IID_IShellCopyHookW,     0x000214FCL, 0, 0);
-DEFINE_SHLGUID(IID_IRemoteComputer,     0x000214FEL, 0, 0);
-DEFINE_SHLGUID(IID_IQueryInfo,          0x00021500L, 0, 0);
 
-/* avoid duplicate definitions with shobjidl.h (FIXME) */
-#ifdef __REACTOS__
 DEFINE_SHLGUID(IID_IExtractIconA,       0x000214EBL, 0, 0);
 DEFINE_SHLGUID(IID_IExtractIconW,       0x000214FAL, 0, 0);
 DEFINE_SHLGUID(IID_IContextMenu,        0x000214E4L, 0, 0);
@@ -70,48 +32,20 @@
 DEFINE_SHLGUID(IID_IShellLinkA,         0x000214EEL, 0, 0);
 DEFINE_SHLGUID(IID_IEnumIDList,         0x000214F2L, 0, 0);
 DEFINE_SHLGUID(IID_IShellLinkW,         0x000214F9L, 0, 0);
-#endif
-/* DEFINE_SHLGUID(IID_IShellExecuteHookA,  0x000214F5L, 0, 0); */
-/* DEFINE_SHLGUID(IID_IShellExecuteHookW,  0x000214FBL, 0, 0); */
+DEFINE_SHLGUID(IID_IShellExecuteHookA,  0x000214F5L, 0, 0);
+DEFINE_SHLGUID(IID_IShellExecuteHookW,  0x000214FBL, 0, 0);
 
 DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);
 
-#define SID_SShellBrowser     IID_IShellBrowser
-
-#define IID_IFileViewer       WINELIB_NAME_AW(IID_IFileViewer)
-#define IID_IShellLink        WINELIB_NAME_AW(IID_IShellLink)
-#define IID_IExtractIcon      WINELIB_NAME_AW(IID_IExtractIcon)
-#define IID_IShellCopyHook    WINELIB_NAME_AW(IID_IShellCopyHook)
-#define IID_IShellExecuteHook WINELIB_NAME_AW(IID_IShellExecuteHook)
-#define IID_INewShortcutHook  WINELIB_NAME_AW(IID_INewShortcutHook)
-
-DEFINE_GUID (IID_IDockingWindow,	0x012dd920L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
-DEFINE_GUID (IID_IDockingWindowSite,	0x2A342FC2L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
-
-/****************************************************************************
- * the next IID's are the namespace elements of the pidls
- */
 DEFINE_GUID(CLSID_NetworkPlaces, 0x208D2C60, 0x3AEA, 0x1069, 0xA2, 0xD7, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D);
-DEFINE_GUID(CLSID_NetworkDomain, 0x46e06680, 0x4bf0, 0x11d1, 0x83, 0xee, 0x00, 0xa0, 0xc9, 0x0d, 0xc8, 0x49);
-DEFINE_GUID(CLSID_NetworkServer, 0xc0542a90, 0x4bf0, 0x11d1, 0x83, 0xee, 0x00, 0xa0, 0xc9, 0x0d, 0xc8, 0x49);
-DEFINE_GUID(CLSID_NetworkShare, 0x54a754c0, 0x4bf0, 0x11d1, 0x83, 0xee, 0x00, 0xa0, 0xc9, 0x0d, 0xc8, 0x49);
 DEFINE_GUID(CLSID_MyComputer, 0x20D04FE0, 0x3AEA, 0x1069, 0xA2, 0xD8, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D);
 DEFINE_GUID(CLSID_Internet, 0x871C5380, 0x42A0, 0x1069, 0xA2, 0xEA, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D);
 DEFINE_GUID(CLSID_ShellFSFolder, 0xF3364BA0, 0x65B9, 0x11CE, 0xA9, 0xBA, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);
 DEFINE_GUID(CLSID_RecycleBin, 0x645FF040, 0x5081, 0x101B, 0x9F, 0x08, 0x00, 0xAA, 0x00, 0x2F, 0x95, 0x4E);
 DEFINE_GUID(CLSID_ControlPanel, 0x21EC2020, 0x3AEA, 0x1069, 0xA2, 0xDD, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D);
-DEFINE_GUID(CLSID_Printers, 0x2227A280, 0x3AEA, 0x1069, 0xA2, 0xDE, 0x08, 0x00, 0x2B, 0x30, 0x30, 0x9D);
-DEFINE_GUID(CLSID_MyDocuments, 0x450d8fba, 0xad25, 0x11d0, 0x98, 0xa8, 0x08, 0x00, 0x36, 0x1b, 0x11, 0x03);
 
 DEFINE_GUID(IID_IQueryAssociations, 0xc46ca590, 0x3c3f, 0x11d2, 0xbe, 0xe6, 0x00, 0x00, 0xf8, 0x05, 0xca, 0x57);
 
 DEFINE_GUID(CLSID_DragDropHelper, 0x4657278a, 0x411b, 0x11d2, 0x83, 0x9a, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
 
-#define PID_FINDDATA        0
-#define PID_NETRESOURCE     1
-#define PID_DESCRIPTIONID   2
-#define PID_WHICHFOLDER     3
-#define PID_NETWORKLOCATION 4
-#define PID_COMPUTERNAME    5
-
-#endif /* __WINE_SHLGUID_H */
+#endif /* __WINE_SHLOBJ_H */

reactos/include/wine
shlobj.h 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- shlobj.h	16 Feb 2004 21:46:11 -0000	1.3
+++ shlobj.h	29 Jun 2004 13:40:40 -0000	1.4
@@ -1,129 +1,24 @@
-/*
- * Copyright (C) the Wine project
+/* $Id: shlobj.h,v 1.4 2004/06/29 13:40:40 gvg Exp $
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * Compatibility header
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * This header is wrapper to allow compilation of Wine DLLs under ReactOS
+ * build system. It contains definitions commonly refered to as Wineisms
+ * and definitions that are missing in w32api.
  */
 
-#ifndef __WINE_SHLOBJ_H
-#define __WINE_SHLOBJ_H
-
-#include <ole2.h>
-#include <commctrl.h>
-#include <prsht.h>
-#include <shlguid.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
+#include <winnetwk.h>
 
-#include <pshpack1.h>
+#include_next <shlobj.h>
 
-#include <shtypes.h>
+#include <shlguid.h>
 #include <shobjidl.h>
 
+#ifndef __WINE_SHLOBJ_H
+#define __WINE_SHLOBJ_H
 
-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);
-BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
-#define     SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
-
-/*****************************************************************************
- * Predeclare interfaces
- */
-typedef struct IShellIcon IShellIcon, *LPSHELLICON;
-
-
-/*****************************************************************************
- * IContextMenu interface
- */
-
-
-/* DATAOBJECT_InitShellIDList*/
-#define CFSTR_SHELLIDLIST       "Shell IDList Array"      /* CF_IDLIST */
-
-extern UINT cfShellIDList;
-
-typedef struct
-{	UINT cidl;
-	UINT aoffset[1];
-} CIDA, *LPIDA;
-
-#define CFSTR_SHELLIDLISTOFFSET "Shell Object Offsets"    /* CF_OBJECTPOSITIONS */
-#define CFSTR_NETRESOURCES      "Net Resource"            /* CF_NETRESOURCE */
-
-/* DATAOBJECT_InitFileGroupDesc */
-#define CFSTR_FILEDESCRIPTORA   "FileGroupDescriptor"     /* CF_FILEGROUPDESCRIPTORA */
-extern UINT cfFileGroupDesc;
-
-#define CFSTR_FILEDESCRIPTORW   "FileGroupDescriptorW"    /* CF_FILEGROUPDESCRIPTORW */
-
-/* DATAOBJECT_InitFileContents*/
-#define CFSTR_FILECONTENTS      "FileContents"            /* CF_FILECONTENTS */
-extern UINT cfFileContents;
-
-#define CFSTR_FILENAMEA         "FileName"                /* CF_FILENAMEA */
-#define CFSTR_FILENAMEW         "FileNameW"               /* CF_FILENAMEW */
-#define CFSTR_PRINTERGROUP      "PrinterFriendlyName"     /* CF_PRINTERS */
-#define CFSTR_FILENAMEMAPA      "FileNameMap"             /* CF_FILENAMEMAPA */
-#define CFSTR_FILENAMEMAPW      "FileNameMapW"            /* CF_FILENAMEMAPW */
-#define CFSTR_SHELLURL          "UniformResourceLocator"
-#define CFSTR_PREFERREDDROPEFFECT "Preferred DropEffect"
-#define CFSTR_PERFORMEDDROPEFFECT "Performed DropEffect"
-#define CFSTR_PASTESUCCEEDED    "Paste Succeeded"
-#define CFSTR_INDRAGLOOP        "InShellDragLoop"
-
-#define CFSTR_FILENAME WINELIB_NAME_AW(CFSTR_FILENAME)
-
-
-/************************************************************************
-* IShellView interface
-*/
-
-typedef GUID SHELLVIEWID;
 #define SV_CLASS_NAME   ("SHELLDLL_DefView")
 
-#define FCIDM_SHVIEWFIRST       0x0000
 /* undocumented */
 #define FCIDM_SHVIEW_ARRANGE    0x7001
 #define FCIDM_SHVIEW_DELETE     0x7011
@@ -154,8 +49,6 @@
 #define FCIDM_SHVIEW_EXPLORE    0x7101 /* FIXME */
 #define FCIDM_SHVIEW_OPEN       0x7102 /* FIXME */
 
-#define FCIDM_SHVIEWLAST        0x7fff
-#define FCIDM_BROWSERFIRST      0xA000
 /* undocumented toolbar items from stddlg's*/
 #define FCIDM_TB_UPFOLDER       0xA001
 #define FCIDM_TB_NEWFOLDER      0xA002
@@ -163,719 +56,16 @@
 #define FCIDM_TB_REPORTVIEW     0xA004
 #define FCIDM_TB_DESKTOP        0xA005  /* FIXME */
 
-#define FCIDM_BROWSERLAST       0xbf00
-#define FCIDM_GLOBALFIRST       0x8000
-#define FCIDM_GLOBALLAST        0x9fff
-
-/*
-* Global submenu IDs and separator IDs
-*/
-#define FCIDM_MENU_FILE             (FCIDM_GLOBALFIRST+0x0000)
-#define FCIDM_MENU_EDIT             (FCIDM_GLOBALFIRST+0x0040)
-#define FCIDM_MENU_VIEW             (FCIDM_GLOBALFIRST+0x0080)
-#define FCIDM_MENU_VIEW_SEP_OPTIONS (FCIDM_GLOBALFIRST+0x0081)
-#define FCIDM_MENU_TOOLS            (FCIDM_GLOBALFIRST+0x00c0)
-#define FCIDM_MENU_TOOLS_SEP_GOTO   (FCIDM_GLOBALFIRST+0x00c1)
-#define FCIDM_MENU_HELP             (FCIDM_GLOBALFIRST+0x0100)
-#define FCIDM_MENU_FIND             (FCIDM_GLOBALFIRST+0x0140)
-#define FCIDM_MENU_EXPLORE          (FCIDM_GLOBALFIRST+0x0150)
-#define FCIDM_MENU_FAVORITES        (FCIDM_GLOBALFIRST+0x0170)
-
-/* control IDs known to the view */
-#define FCIDM_TOOLBAR      (FCIDM_BROWSERFIRST + 0)
-#define FCIDM_STATUS       (FCIDM_BROWSERFIRST + 1)
-
-
-/****************************************************************************
- * IShellIcon interface
- */
-
-#define INTERFACE IShellIcon
-#define IShellIcon_METHODS \
-    IUnknown_METHODS \
-    STDMETHOD(GetIconOf)(THIS_ LPCITEMIDLIST pidl, UINT flags, LPINT lpIconIndex) PURE;
-ICOM_DEFINE(IShellIcon, IUnknown)
-#undef INTERFACE
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IShellIcon_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
-#define IShellIcon_AddRef(p)                  (p)->lpVtbl->AddRef(p)
-#define IShellIcon_Release(p)                 (p)->lpVtbl->Release(p)
-/*** IShellIcon methods ***/
-#define IShellIcon_GetIconOf(p,a,b,c)         (p)->lpVtbl->GetIconOf(p,a,b,c)
-#endif
-
-/****************************************************************************
-* SHAddToRecentDocs API
-*/
-#define SHARD_PIDL      0x00000001L
-#define SHARD_PATHA     0x00000002L
-#define SHARD_PATHW     0x00000003L
-#define SHARD_PATH WINELIB_NAME_AW(SHARD_PATH)
-
-DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
-
-/****************************************************************************
- * SHBrowseForFolder API
- */
-typedef INT (CALLBACK *BFFCALLBACK)(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
-
-typedef struct tagBROWSEINFOA {
-    HWND        hwndOwner;
-    LPCITEMIDLIST pidlRoot;
-    LPSTR         pszDisplayName;
-    LPCSTR        lpszTitle;
-    UINT        ulFlags;
-    BFFCALLBACK   lpfn;
-    LPARAM        lParam;
-    INT         iImage;
-} BROWSEINFOA, *PBROWSEINFOA, *LPBROWSEINFOA;
-
-typedef struct tagBROWSEINFOW {
-    HWND        hwndOwner;
-    LPCITEMIDLIST pidlRoot;
-    LPWSTR        pszDisplayName;
-    LPCWSTR       lpszTitle;
-    UINT        ulFlags;
-    BFFCALLBACK   lpfn;
-    LPARAM        lParam;
-    INT         iImage;
-} BROWSEINFOW, *PBROWSEINFOW, *LPBROWSEINFOW;
-
-#define BROWSEINFO   WINELIB_NAME_AW(BROWSEINFO)
-#define PBROWSEINFO  WINELIB_NAME_AW(PBROWSEINFO)
-#define LPBROWSEINFO WINELIB_NAME_AW(LPBROWSEINFO)
-
-/* Browsing for directory. */
-#define BIF_RETURNONLYFSDIRS   0x0001
-#define BIF_DONTGOBELOWDOMAIN  0x0002
-#define BIF_STATUSTEXT         0x0004
-#define BIF_RETURNFSANCESTORS  0x0008
-#define BIF_EDITBOX            0x0010
-#define BIF_VALIDATE           0x0020
-#define BIF_NEWDIALOGSTYLE     0x0040   
-
-#define BIF_BROWSEFORCOMPUTER  0x1000
-#define BIF_BROWSEFORPRINTER   0x2000
-#define BIF_BROWSEINCLUDEFILES 0x4000
-
-/* message from browser */
-#define BFFM_INITIALIZED        1
-#define BFFM_SELCHANGED         2
-#define BFFM_VALIDATEFAILEDA    3   /* lParam:szPath ret:1(cont),0(EndDialog) */
-#define BFFM_VALIDATEFAILEDW    4   /* lParam:wzPath ret:1(cont),0(EndDialog) */
-
-/* messages to browser */
-#define BFFM_SETSTATUSTEXTA     (WM_USER+100)
-#define BFFM_ENABLEOK           (WM_USER+101)
-#define BFFM_SETSELECTIONA      (WM_USER+102)
-#define BFFM_SETSELECTIONW      (WM_USER+103)
-#define BFFM_SETSTATUSTEXTW     (WM_USER+104)
-#define BFFM_SETOKTEXT          (WM_USER+105)
-#define BFFM_SETEXPANDED        (WM_USER+106)
-
-LPITEMIDLIST WINAPI SHBrowseForFolderA(LPBROWSEINFOA lpbi);
-LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi);
-#define SHBrowseForFolder	 WINELIB_NAME_AW(SHBrowseForFolder)
-#define BFFM_SETSTATUSTEXT  WINELIB_NAME_AW(BFFM_SETSTATUSTEXT)
-#define BFFM_SETSELECTION   WINELIB_NAME_AW(BFFM_SETSELECTION)
-#define BFFM_VALIDATEFAILED WINELIB_NAME_AW(BFFM_VALIDATEFAILED)
-
-/****************************************************************************
-*	SHGetDataFromIDList API
-*/
-#define SHGDFIL_FINDDATA        1
-#define SHGDFIL_NETRESOURCE     2
-#define SHGDFIL_DESCRIPTIONID   3
-
-#define SHDID_ROOT_REGITEM          1
-#define SHDID_FS_FILE               2
-#define SHDID_FS_DIRECTORY          3
-#define SHDID_FS_OTHER              4
-#define SHDID_COMPUTER_DRIVE35      5
-#define SHDID_COMPUTER_DRIVE525     6
-#define SHDID_COMPUTER_REMOVABLE    7
-#define SHDID_COMPUTER_FIXED        8
-#define SHDID_COMPUTER_NETDRIVE     9
-#define SHDID_COMPUTER_CDROM        10
-#define SHDID_COMPUTER_RAMDISK      11
-#define SHDID_COMPUTER_OTHER        12
-#define SHDID_NET_DOMAIN            13
-#define SHDID_NET_SERVER            14
-#define SHDID_NET_SHARE             15
-#define SHDID_NET_RESTOFNET         16
-#define SHDID_NET_OTHER             17
-#define SHDID_COMPUTER_IMAGING      18
-#define SHDID_COMPUTER_AUDIO        19
-#define SHDID_COMPUTER_SHAREDDOCS   20
-
-typedef struct _SHDESCRIPTIONID
-{   DWORD   dwDescriptionId;
-    CLSID   clsid;
-} SHDESCRIPTIONID, *LPSHDESCRIPTIONID;
-
-HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb);
-HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb);
-#define  SHGetDataFromIDList WINELIB_NAME_AW(SHGetDataFromIDList)
-
-BOOL WINAPI SHGetSpecialFolderPathA (HWND hwndOwner, LPSTR szPath, int nFolder, BOOL bCreate);
-BOOL WINAPI SHGetSpecialFolderPathW (HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate);
-#define  SHGetSpecialFolderPath WINELIB_NAME_AW(SHGetSpecialFolderPath)
-
-/****************************************************************************
-* shlview structures
-*/
-
-/*
-* IShellFolderViewCallback Callback
-*  This "callback" is called by the shells default IShellView implementation (that
-*  we got using SHCreateShellViewEx()), to notify us of the various things that
-*  are happening to the shellview (and ask for things too).
-*
-*  You don't have to support anything here - anything you don't want to
-*  handle, the shell will do itself if you just return E_NOTIMPL. This parameters
-*  that the shell passes to this function are entirely undocumented.
-*
-*  HOWEVER, as the cabview sample as originally written used this callback, the
-*  writers implemented the callback mechanism on top of their own IShellView.
-*  Look there for some clues on what to do here.
-*/
-
-typedef HRESULT (CALLBACK *SHELLVIEWPROC)(DWORD dwUserParam,LPSHELLFOLDER psf,
-                         HWND hwnd,UINT uMsg,UINT wParam,LPARAM lParam);
-
-/* NF valid values for the "viewmode" item of the SHELLTEMPLATE*/
-#define NF_INHERITVIEW    0x0000
-#define NF_LOCALVIEW        0x0001
-
-typedef struct _SHELLVIEWDATA   /* idl */
-{ DWORD           dwSize;
-  LPSHELLFOLDER   pShellFolder;
-  DWORD           dwUserParam;
-  LPCITEMIDLIST   pidl;
-  DWORD           v3;        /* always 0 */
-  SHELLVIEWPROC   pCallBack;
-  DWORD           viewmode;  /* NF_* enum */
-} SHELLVIEWDATA, * LPSHELLVIEWDATA;
-
-HRESULT WINAPI SHGetMalloc(LPMALLOC *lpmal) ;
-
-/**********************************************************************
- * SHGetSetSettings ()
- */
-
-typedef struct
-{
-    BOOL fShowAllObjects : 1;
-    BOOL fShowExtensions : 1;
-    BOOL fNoConfirmRecycle : 1;
-
-    BOOL fShowSysFiles : 1;
-    BOOL fShowCompColor : 1;
-    BOOL fDoubleClickInWebView : 1;
-    BOOL fDesktopHTML : 1;
-    BOOL fWin95Classic : 1;
-    BOOL fDontPrettyPath : 1;
-    BOOL fShowAttribCol : 1;
-    BOOL fMapNetDrvBtn : 1;
-    BOOL fShowInfoTip : 1;
-    BOOL fHideIcons : 1;
-    BOOL fWebView : 1;
-    BOOL fFilter : 1;
-    BOOL fShowSuperHidden : 1;
-    BOOL fNoNetCrawling : 1;
-
-    DWORD dwWin95Unused;
-    UINT  uWin95Unused;
-    LONG   lParamSort;
-    int    iSortDirection;
-    UINT   version;
-    UINT uNotUsed;
-    BOOL fSepProcess: 1;
-    BOOL fStartPanelOn: 1;
-    BOOL fShowStartPage: 1;
-    UINT fSpareFlags : 13;
-} SHELLSTATE, *LPSHELLSTATE;
-
-/**********************************************************************
- * SHGetSettings ()
- */
-typedef struct
-{	BOOL fShowAllObjects : 1;
-	BOOL fShowExtensions : 1;
-	BOOL fNoConfirmRecycle : 1;
-	BOOL fShowSysFiles : 1;
-
-	BOOL fShowCompColor : 1;
-	BOOL fDoubleClickInWebView : 1;
-	BOOL fDesktopHTML : 1;
-	BOOL fWin95Classic : 1;
-
-	BOOL fDontPrettyPath : 1;
-	BOOL fShowAttribCol : 1;
-	BOOL fMapNetDrvBtn : 1;
-	BOOL fShowInfoTip : 1;
-
-	BOOL fHideIcons : 1;
-	UINT fRestFlags : 3;
-} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
-
-VOID WINAPI SHGetSettings(LPSHELLFLAGSTATE lpsfs, DWORD dwMask);
-
-#define SSF_SHOWALLOBJECTS		0x0001
-#define SSF_SHOWEXTENSIONS		0x0002
-#define SSF_SHOWCOMPCOLOR		0x0008
-#define SSF_SHOWSYSFILES		0x0020
-#define SSF_DOUBLECLICKINWEBVIEW	0x0080
-#define SSF_SHOWATTRIBCOL		0x0100
-#define SSF_DESKTOPHTML			0x0200
-#define SSF_WIN95CLASSIC		0x0400
-#define SSF_DONTPRETTYPATH		0x0800
-#define SSF_SHOWINFOTIP			0x2000
-#define SSF_MAPNETDRVBUTTON		0x1000
-#define SSF_NOCONFIRMRECYCLE		0x8000
-#define SSF_HIDEICONS			0x4000
-
-/****************************************************************************
-* SHRestricted API
-*/
-typedef enum RESTRICTIONS
-{
-	REST_NONE			= 0x00000000,
-	REST_NORUN			= 0x00000001,
-	REST_NOCLOSE			= 0x00000002,
-	REST_NOSAVESET			= 0x00000004,
-	REST_NOFILEMENU			= 0x00000008,
-	REST_NOSETFOLDERS		= 0x00000010,
-	REST_NOSETTASKBAR		= 0x00000020,
-	REST_NODESKTOP			= 0x00000040,
-	REST_NOFIND			= 0x00000080,
-	REST_NODRIVES			= 0x00000100,
-	REST_NODRIVEAUTORUN		= 0x00000200,
-	REST_NODRIVETYPEAUTORUN		= 0x00000400,
-	REST_NONETHOOD			= 0x00000800,
-	REST_STARTBANNER		= 0x00001000,
-	REST_RESTRICTRUN		= 0x00002000,
-	REST_NOPRINTERTABS		= 0x00004000,
-	REST_NOPRINTERDELETE		= 0x00008000,
-	REST_NOPRINTERADD		= 0x00010000,
-	REST_NOSTARTMENUSUBFOLDERS	= 0x00020000,
-	REST_MYDOCSONNET		= 0x00040000,
-	REST_NOEXITTODOS		= 0x00080000,
-	REST_ENFORCESHELLEXTSECURITY	= 0x00100000,
-	REST_LINKRESOLVEIGNORELINKINFO	= 0x00200000,
-	REST_NOCOMMONGROUPS		= 0x00400000,
-	REST_SEPARATEDESKTOPPROCESS	= 0x00800000,
-	REST_NOWEB			= 0x01000000,
-	REST_NOTRAYCONTEXTMENU		= 0x02000000,
-	REST_NOVIEWCONTEXTMENU		= 0x04000000,
-	REST_NONETCONNECTDISCONNECT	= 0x08000000,
-	REST_STARTMENULOGOFF		= 0x10000000,
-	REST_NOSETTINGSASSIST		= 0x20000000,
-	REST_NOINTERNETICON		= 0x40000001,
-	REST_NORECENTDOCSHISTORY,
-	REST_NORECENTDOCSMENU,
-	REST_NOACTIVEDESKTOP,
-	REST_NOACTIVEDESKTOPCHANGES,
-	REST_NOFAVORITESMENU,
-	REST_CLEARRECENTDOCSONEXIT,
-	REST_CLASSICSHELL,
-	REST_NOCUSTOMIZEWEBVIEW,
-
-	REST_NOHTMLWALLPAPER		= 0x40000010,
-	REST_NOCHANGINGWALLPAPER,
-	REST_NODESKCOMP,
-	REST_NOADDDESKCOMP,
-	REST_NODELDESKCOMP,
-	REST_NOCLOSEDESKCOMP,
-	REST_NOCLOSE_DRAGDROPBAND,
-	REST_NOMOVINGBAND,
-	REST_NOEDITDESKCOMP,
-	REST_NORESOLVESEARCH,
-	REST_NORESOLVETRACK,
-	REST_FORCECOPYACLWITHFILE,
-	REST_NOLOGO3CHANNELNOTIFY,
-	REST_NOFORGETSOFTWAREUPDATE,
-	REST_NOSETACTIVEDESKTOP,
-	REST_NOUPDATEWINDOWS,
-	REST_NOCHANGESTARMENU,		/* 0x40000020 */
-	REST_NOFOLDEROPTIONS,
-	REST_HASFINDCOMPUTERS,
-	REST_INTELLIMENUS,
-	REST_RUNDLGMEMCHECKBOX,
-	REST_ARP_ShowPostSetup,
-	REST_NOCSC,
-	REST_NOCONTROLPANEL,
-	REST_ENUMWORKGROUP,
-	REST_ARP_NOARP,
-	REST_ARP_NOREMOVEPAGE,
-	REST_ARP_NOADDPAGE,
-	REST_ARP_NOWINSETUPPAGE,
-	REST_GREYMSIADS,
-	REST_NOCHANGEMAPPEDDRIVELABEL,
-	REST_NOCHANGEMAPPEDDRIVECOMMENT,
-	REST_MaxRecentDocs,		/* 0x40000030 */
-	REST_NONETWORKCONNECTIONS,
-	REST_FORCESTARTMENULOGOFF,
-	REST_NOWEBVIEW,
-	REST_NOCUSTOMIZETHISFOLDER,
-	REST_NOENCRYPTION,
-
-	REST_ALLOWFRENCHENCRYPTION,	/* not documented */
-
-	REST_DONTSHOWSUPERHIDDEN,
-	REST_NOSHELLSEARCHBUTTON,
-	REST_NOHARDWARETAB,
-	REST_NORUNASINSTALLPROMPT,
-	REST_PROMPTRUNASINSTALLNETPATH,
-	REST_NOMANAGEMYCOMPUTERVERB,
-	REST_NORECENTDOCSNETHOOD,
-	REST_DISALLOWRUN,
-	REST_NOWELCOMESCREEN,
-	REST_RESTRICTCPL,		/* 0x40000040 */
-	REST_DISALLOWCPL,
-	REST_NOSMBALLOONTIP,
-	REST_NOSMHELP,
-	REST_NOWINKEYS,
-	REST_NOENCRYPTONMOVE,
-	REST_NOLOCALMACHINERUN,
-	REST_NOCURRENTUSERRUN,
-	REST_NOLOCALMACHINERUNONCE,
-	REST_NOCURRENTUSERRUNONCE,
-	REST_FORCEACTIVEDESKTOPON,
-	REST_NOCOMPUTERSNEARME,
-	REST_NOVIEWONDRIVE,
-	REST_NONETCRAWL,
-	REST_NOSHAREDDOCUMENTS,
-	REST_NOSMMYDOCS,
-	REST_NOSMMYPICS,		/* 0x40000050 */
-	REST_ALLOWBITBUCKDRIVES,
-	REST_NONLEGACYSHELLMODE,
-	REST_NOCONTROLPANELBARRICADE,
-	REST_NOSTARTPAGE,
-	REST_NOAUTOTRAYNOTIFY,
-	REST_NOTASKGROUPING,
-	REST_NOCDBURNING,
-	REST_MYCOMPNOPROP,
-	REST_MYDOCSNOPROP,
-	REST_NOSTARTPANEL,
-	REST_NODISPLAYAPPEARANCEPAGE,
-	REST_NOTHEMESTAB,
-	REST_NOVISUALSTYLECHOICE,
-	REST_NOSIZECHOICE,
-	REST_NOCOLORCHOICE,
-	REST_SETVISUALSTYLE,		/* 0x40000060 */
-	REST_STARTRUNNOHOMEPATH,
-	REST_NOUSERNAMEINSTARTPANEL,
-	REST_NOMYCOMPUTERICON,
-	REST_NOSMNETWORKPLACES,
-	REST_NOSMPINNEDLIST,
-	REST_NOSMMYMUSIC,
-	REST_NOSMEJECTPC,
-	REST_NOSMMOREPROGRAMS,
-	REST_NOSMMFUPROGRAMS,
-	REST_NOTRAYITEMSDISPLAY,
-	REST_NOTOOLBARSONTASKBAR,
-	/* 0x4000006C
-	   0x4000006D
-	   0x4000006E */
-	REST_NOSMCONFIGUREPROGRAMS	= 0x4000006F,
-	REST_HIDECLOCK,			/* 0x40000070 */
-	REST_NOLOWDISKSPACECHECKS,
-	REST_NOENTIRENETWORK,
-	REST_NODESKTOPCLEANUP,
-	REST_BITBUCKNUKEONDELETE,
-	REST_BITBUCKCONFIRMDELETE,
-	REST_BITBUCKNOPROP,
-	REST_NODISPBACKGROUND,
-	REST_NODISPSCREENSAVEPG,
-	REST_NODISPSETTINGSPG,
-	REST_NODISPSCREENSAVEPREVIEW,
-	REST_NODISPLAYCPL,
-	REST_HIDERUNASVERB,
-	REST_NOTHUMBNAILCACHE,
-	REST_NOSTRCMPLOGICAL,
-	REST_NOPUBLISHWIZARD,
-	REST_NOONLINEPRINTSWIZARD,	/* 0x40000080 */
-	REST_NOWEBSERVICES,
-	REST_ALLOWUNHASHEDWEBVIEW,
-	REST_ALLOWLEGACYWEBVIEW,
-	REST_REVERTWEBVIEWSECURITY,
-	
-	REST_INHERITCONSOLEHANDLES	= 0x40000086,
-
-	REST_NODISCONNECT		= 0x41000001,
-	REST_NOSECURITY,
-	REST_NOFILEASSOCIATE,		/* 0x41000003 */
-} RESTRICTIONS;
-
-DWORD WINAPI SHRestricted(RESTRICTIONS rest);
-
-/****************************************************************************
-* SHChangeNotify API
-*/
-typedef struct _SHChangeNotifyEntry
-{
-    LPCITEMIDLIST pidl;
-    BOOL   fRecursive;
-} SHChangeNotifyEntry;
-
-#define SHCNE_RENAMEITEM	0x00000001
-#define SHCNE_CREATE		0x00000002
-#define SHCNE_DELETE		0x00000004
-#define SHCNE_MKDIR		0x00000008
-#define SHCNE_RMDIR		0x00000010
-#define SHCNE_MEDIAINSERTED	0x00000020
-#define SHCNE_MEDIAREMOVED	0x00000040
-#define SHCNE_DRIVEREMOVED	0x00000080
-#define SHCNE_DRIVEADD		0x00000100
-#define SHCNE_NETSHARE		0x00000200
-#define SHCNE_NETUNSHARE	0x00000400
-#define SHCNE_ATTRIBUTES	0x00000800
-#define SHCNE_UPDATEDIR		0x00001000
-#define SHCNE_UPDATEITEM	0x00002000
-#define SHCNE_SERVERDISCONNECT	0x00004000
-#define SHCNE_UPDATEIMAGE	0x00008000
-#define SHCNE_DRIVEADDGUI	0x00010000
-#define SHCNE_RENAMEFOLDER	0x00020000
-#define SHCNE_FREESPACE		0x00040000
-
-#define SHCNE_EXTENDED_EVENT	0x04000000
-#define SHCNE_ASSOCCHANGED	0x08000000
-#define SHCNE_DISKEVENTS	0x0002381F
-#define SHCNE_GLOBALEVENTS	0x0C0581E0
-#define SHCNE_ALLEVENTS		0x7FFFFFFF
-#define SHCNE_INTERRUPT		0x80000000
-
-#define SHCNEE_ORDERCHANGED	0x0002L
-#define SHCNEE_MSI_CHANGE	0x0004L
-#define SHCNEE_MSI_UNINSTALL	0x0005L
-
-#define SHCNF_IDLIST		0x0000
-#define SHCNF_PATHA		0x0001
-#define SHCNF_PRINTERA		0x0002
-#define SHCNF_DWORD		0x0003
-#define SHCNF_PATHW		0x0005
-#define SHCNF_PRINTERW		0x0006
-#define SHCNF_TYPE		0x00FF
-#define SHCNF_FLUSH		0x1000
-#define SHCNF_FLUSHNOWAIT	0x2000
-
-#define SHCNF_PATH              WINELIB_NAME_AW(SHCNF_PATH)
-#define SHCNF_PRINTER           WINELIB_NAME_AW(SHCNF_PRINTER)
-
-void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
-
-/*
- * IShellChangeNotify
- */
-typedef struct IShellChangeNotify IShellChangeNotify, *LPSHELLCHANGENOTIFY;
-
-#define INTERFACE IShellChangeNotify
-#define IShellChangeNotify_METHODS \
-    IUnknown_METHODS \
-    STDMETHOD(OnChange)(THIS_ LONG lEvent, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE;
-
-ICOM_DEFINE(IShellChangeNotify, IUnknown)
-#undef INTERFACE
-
-#ifdef COBJMACROS
-/*** IUnknown methods ***/
-#define IShellChangeNotify_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
-#define IShellChangeNotify_AddRef(p)                  (p)->lpVtbl->AddRef(p)
-#define IShellChangeNotify_Release(p)                 (p)->lpVtbl->Release(p)
-/*** IShellChangeNotify methods ***/
-#define IShellChangeNotify_OnChange(p,a,b,c)         (p)->lpVtbl->OnChange(p,a,b,c)
-#endif
-
-typedef struct _SHChangeDWORDAsIDList {
-    USHORT   cb;
-    DWORD    dwItem1;
-    DWORD    dwItem2;
-    USHORT   cbZero;
-} SHChangeDWORDAsIDList, *LPSHChangeDWORDAsIDList;
-
-typedef struct _SHChangeProductKeyAsIDList {
-    USHORT cb;
-    WCHAR wszProductKey[39];
-    USHORT cbZero;
-} SHChangeProductKeyAsIDList, *LPSHChangeProductKeyAsIDList;
-
-ULONG WINAPI SHChangeNotifyRegister(HWND hwnd, int fSources, LONG fEvents, UINT wMsg,
-                                    int cEntries, SHChangeNotifyEntry *pshcne);
-BOOL WINAPI SHChangeNotifyDeregister(ULONG ulID);
-HANDLE WINAPI SHChangeNotification_Lock(HANDLE hChangeNotification, DWORD dwProcessId,
-                                        LPITEMIDLIST **pppidl, LONG *plEvent);
-BOOL WINAPI SHChangeNotification_Unlock(HANDLE hLock);
-
-HRESULT WINAPI SHGetRealIDL(IShellFolder *psf, LPCITEMIDLIST pidlSimple, LPITEMIDLIST * ppidlReal);
-
-/****************************************************************************
-* SHCreateDirectory API
-*/
-DWORD WINAPI SHCreateDirectory(HWND, LPCVOID);
-DWORD WINAPI SHCreateDirectoryExA(HWND, LPCSTR, LPSECURITY_ATTRIBUTES);
-DWORD WINAPI SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES);
-
-/****************************************************************************
-* SHGetSpecialFolderLocation API
-*/
-HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, int nFolder, LPITEMIDLIST * ppidl);
-HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl);
-
-#define CSIDL_DESKTOP		0x0000
-#define CSIDL_INTERNET		0x0001
-#define CSIDL_PROGRAMS		0x0002
-#define CSIDL_CONTROLS		0x0003
-#define CSIDL_PRINTERS		0x0004
-#define CSIDL_PERSONAL		0x0005
-#define CSIDL_FAVORITES		0x0006
-#define CSIDL_STARTUP		0x0007
-#define CSIDL_RECENT		0x0008
-#define CSIDL_SENDTO		0x0009
-#define CSIDL_BITBUCKET		0x000a
-#define CSIDL_STARTMENU		0x000b
-#define CSIDL_MYDOCUMENTS	0x000c
-#define CSIDL_MYMUSIC		0x000d
-#define CSIDL_MYVIDEO		0x000e
-#define CSIDL_DESKTOPDIRECTORY	0x0010
-#define CSIDL_DRIVES		0x0011
-#define CSIDL_NETWORK		0x0012
-#define CSIDL_NETHOOD		0x0013
-#define CSIDL_FONTS		0x0014
-#define CSIDL_TEMPLATES		0x0015
-#define CSIDL_COMMON_STARTMENU	0x0016
-#define CSIDL_COMMON_PROGRAMS	0X0017
-#define CSIDL_COMMON_STARTUP	0x0018
-#define CSIDL_COMMON_DESKTOPDIRECTORY	0x0019
-#define CSIDL_APPDATA		0x001a
-#define CSIDL_PRINTHOOD		0x001b
-#define CSIDL_LOCAL_APPDATA	0x001c
-#define CSIDL_ALTSTARTUP	0x001d
-#define CSIDL_COMMON_ALTSTARTUP	0x001e
-#define CSIDL_COMMON_FAVORITES  0x001f
-#define CSIDL_INTERNET_CACHE	0x0020
-#define CSIDL_COOKIES		0x0021
-#define CSIDL_HISTORY		0x0022
-#define CSIDL_COMMON_APPDATA	0x0023
-#define CSIDL_WINDOWS		0x0024
-#define CSIDL_SYSTEM		0x0025
-#define CSIDL_PROGRAM_FILES	0x0026
-#define CSIDL_MYPICTURES	0x0027
-#define CSIDL_PROFILE		0x0028
-#define CSIDL_SYSTEMX86		0x0029
-#define CSIDL_PROGRAM_FILESX86	0x002a
-#define CSIDL_PROGRAM_FILES_COMMON	0x002b
-#define CSIDL_PROGRAM_FILES_COMMONX86	0x002c
-#define CSIDL_COMMON_TEMPLATES	0x002d
-#define CSIDL_COMMON_DOCUMENTS	0x002e
-#define CSIDL_COMMON_ADMINTOOLS	0x002f
-#define CSIDL_ADMINTOOLS	0x0030
-#define CSIDL_CONNECTIONS	0x0031
-#define CSIDL_COMMON_MUSIC	0x0035
-#define CSIDL_COMMON_PICTURES	0x0036
-#define CSIDL_COMMON_VIDEO	0x0037
-#define CSIDL_RESOURCES		0x0038
-#define CSIDL_RESOURCES_LOCALIZED 0x0039
-#define CSIDL_COMMON_OEM_LINKS	0x003a
-#define CSIDL_CDBURN_AREA	0x003b
-#define CSIDL_COMPUTERSNEARME	0x003d
-#define CSIDL_PROFILES		0x003e
 #define CSIDL_FOLDER_MASK	0x00ff
-#define CSIDL_FLAG_PER_USER_INIT 0x0800
-#define CSIDL_FLAG_NO_ALIAS	0x1000
-#define CSIDL_FLAG_DONT_VERIFY	0x4000
-#define CSIDL_FLAG_CREATE	0x8000
-
-#define CSIDL_FLAG_MASK		0xff00
-
-/****************************************************************************
- * SHGetDesktopFolder API
- */
-DWORD WINAPI SHGetDesktopFolder(IShellFolder * *);
-
-/****************************************************************************
- * SHBindToParent API
- */
-HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast);
-
-/****************************************************************************
-* SHDefExtractIcon API
-*/
-HRESULT WINAPI SHDefExtractIconA(LPCSTR pszIconFile, int iIndex, UINT uFlags,
-                                 HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize);
-HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags,
-                                 HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize);
-#define        SHDefExtractIcon WINELIB_NAME_AW(SHDefExtractIcon)
 
-/*
- * DROPFILES for CF_HDROP and CF_PRINTERS
- */
-typedef struct _DROPFILES
-{
-  DWORD pFiles;
-  POINT pt;
-  BOOL  fNC;
-  BOOL  fWide;
-} DROPFILES, *LPDROPFILES;
-
-#include <poppack.h> 
+LPVOID WINAPI SHAlloc(ULONG);
+void WINAPI SHFree(LPVOID);
+int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder*,LPCITEMIDLIST,int*);
 
 /*****************************************************************************
  * IFileSystemBindData interface
  */
-#ifndef __IFileSystemBindData_FWD_DEFINED__
-#define __IFileSystemBindData_FWD_DEFINED__
-typedef struct IFileSystemBindData IFileSystemBindData;
-#endif
-
-typedef IFileSystemBindData *LPFILESYSTEMBINDDATA;
-
-#ifndef __IFileSystemBindData_INTERFACE_DEFINED__
-#define __IFileSystemBindData_INTERFACE_DEFINED__
-
 DEFINE_GUID(IID_IFileSystemBindData, 0x01e18d10, 0x4d8b, 0x11d2, 0x85,0x5d, 0x00,0x60,0x08,0x05,0x93,0x67);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-struct IFileSystemBindData : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE GetFindData(
-        WIN32_FIND_DATAW* pfd) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetFindData(
-        const WIN32_FIND_DATAW* pfd) = 0;
-
-};
-#else
-typedef struct IFileSystemBindDataVtbl IFileSystemBindDataVtbl;
-struct IFileSystemBindData {
-    const IFileSystemBindDataVtbl* lpVtbl;
-};
-struct IFileSystemBindDataVtbl {
-    ICOM_MSVTABLE_COMPAT_FIELDS
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IFileSystemBindData* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IFileSystemBindData* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IFileSystemBindData* This);
-
-    /*** IFileSystemBindData methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetFindData)(
-        IFileSystemBindData* This,
-        WIN32_FIND_DATAW* pfd);
-
-    HRESULT (STDMETHODCALLTYPE *SetFindData)(
-        IFileSystemBindData* This,
-        const WIN32_FIND_DATAW* pfd);
-
-};
 
 /*** IUnknown methods ***/
 #define IFileSystemBindData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
@@ -885,73 +75,4 @@
 #define IFileSystemBindData_GetFindData(p,a) (p)->lpVtbl->GetFindData(p,a)
 #define IFileSystemBindData_SetFindData(p,a) (p)->lpVtbl->SetFindData(p,a)
 
-#endif
-
-#define IFileSystemBindData_METHODS \
-    ICOM_MSVTABLE_COMPAT_FIELDS \
-    /*** IUnknown methods ***/ \
-    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
-    STDMETHOD_(ULONG,Release)(THIS) PURE; \
-    /*** IFileSystemBindData methods ***/ \
-    STDMETHOD_(HRESULT,GetFindData)(THIS_ WIN32_FIND_DATAW* pfd) PURE; \
-    STDMETHOD_(HRESULT,SetFindData)(THIS_ const WIN32_FIND_DATAW* pfd) PURE;
-
-#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) */
-
 #endif /* __WINE_SHLOBJ_H */

reactos/include/wine
shobjidl.h 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- shobjidl.h	6 Jan 2004 22:15:15 -0000	1.3
+++ shobjidl.h	29 Jun 2004 13:40:40 -0000	1.4
@@ -1,4240 +1,41 @@
-/*** Autogenerated by WIDL 0.1 from shobjidl.idl - Do not edit ***/
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifndef __WIDL_SHOBJIDL_H
-#define __WIDL_SHOBJIDL_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-#include <objidl.h>
-#include <oleidl.h>
-#include <oaidl.h>
-#include <shtypes.h>
-#include <servprov.h>
-#include <comcat.h>
-#ifndef __IPersistFolder_FWD_DEFINED__
-#define __IPersistFolder_FWD_DEFINED__
-typedef struct IPersistFolder IPersistFolder;
-#endif
-
-typedef IPersistFolder *LPPERSISTFOLDER;
-
-/*****************************************************************************
- * IPersistFolder interface
- */
-#ifndef __IPersistFolder_INTERFACE_DEFINED__
-#define __IPersistFolder_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-struct IPersistFolder : public IPersist
-{
-    virtual HRESULT STDMETHODCALLTYPE Initialize(
-        LPCITEMIDLIST pidl) = 0;
-
-};
-#else
-typedef struct IPersistFolderVtbl IPersistFolderVtbl;
-struct IPersistFolder {
-    const IPersistFolderVtbl* lpVtbl;
-};
-struct IPersistFolderVtbl {
-    ICOM_MSVTABLE_COMPAT_FIELDS
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IPersistFolder* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IPersistFolder* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IPersistFolder* This);
-
-    /*** IPersist methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetClassID)(
-        IPersistFolder* This,
-        CLSID* pClassID);
-
-    /*** IPersistFolder methods ***/
-    HRESULT (STDMETHODCALLTYPE *Initialize)(
-        IPersistFolder* This,
-        LPCITEMIDLIST pidl);
-
-};
-
-/*** IUnknown methods ***/
-#define IPersistFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IPersistFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IPersistFolder_Release(p) (p)->lpVtbl->Release(p)
-/*** IPersist methods ***/
-#define IPersistFolder_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
-/*** IPersistFolder methods ***/
-#define IPersistFolder_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-
-#endif
-
-#define IPersistFolder_METHODS \
-    ICOM_MSVTABLE_COMPAT_FIELDS \
-    /*** IUnknown methods ***/ \
-    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
-    STDMETHOD_(ULONG,Release)(THIS) PURE; \
-    /*** IPersist methods ***/ \
-    STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
-    /*** IPersistFolder methods ***/ \
-    STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
-
-HRESULT CALLBACK IPersistFolder_Initialize_Proxy(
-    IPersistFolder* This,
-    LPCITEMIDLIST pidl);
-void __RPC_STUB IPersistFolder_Initialize_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IPersistFolder_INTERFACE_DEFINED__ */
-
-#ifndef __IPersistFolder2_FWD_DEFINED__
-#define __IPersistFolder2_FWD_DEFINED__
-typedef struct IPersistFolder2 IPersistFolder2;
-#endif
-
-typedef IPersistFolder2 *LPPERSISTFOLDER2;
-
-/*****************************************************************************
- * IPersistFolder2 interface
- */
-#ifndef __IPersistFolder2_INTERFACE_DEFINED__
-#define __IPersistFolder2_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-struct IPersistFolder2 : public IPersistFolder
-{
-    virtual HRESULT STDMETHODCALLTYPE GetCurFolder(
-        LPITEMIDLIST* ppidl) = 0;
-
-};
-#else
-typedef struct IPersistFolder2Vtbl IPersistFolder2Vtbl;
-struct IPersistFolder2 {
-    const IPersistFolder2Vtbl* lpVtbl;
-};
-struct IPersistFolder2Vtbl {
-    ICOM_MSVTABLE_COMPAT_FIELDS
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IPersistFolder2* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IPersistFolder2* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IPersistFolder2* This);
-
-    /*** IPersist methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetClassID)(
-        IPersistFolder2* This,
-        CLSID* pClassID);
-
-    /*** IPersistFolder methods ***/
-    HRESULT (STDMETHODCALLTYPE *Initialize)(
-        IPersistFolder2* This,
-        LPCITEMIDLIST pidl);
-
-    /*** IPersistFolder2 methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetCurFolder)(
-        IPersistFolder2* This,
-        LPITEMIDLIST* ppidl);
-
-};
-
-/*** IUnknown methods ***/
-#define IPersistFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IPersistFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IPersistFolder2_Release(p) (p)->lpVtbl->Release(p)
-/*** IPersist methods ***/
-#define IPersistFolder2_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
-/*** IPersistFolder methods ***/
-#define IPersistFolder2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
-/*** IPersistFolder2 methods ***/
-#define IPersistFolder2_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
-
-#endif
-
-#define IPersistFolder2_METHODS \
-    ICOM_MSVTABLE_COMPAT_FIELDS \
-    /*** IUnknown methods ***/ \
-    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
-    STDMETHOD_(ULONG,Release)(THIS) PURE; \
-    /*** IPersist methods ***/ \
-    STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
-    /*** IPersistFolder methods ***/ \
-    STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
-    /*** IPersistFolder2 methods ***/ \
-    STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE;
-
-HRESULT CALLBACK IPersistFolder2_GetCurFolder_Proxy(
-    IPersistFolder2* This,
-    LPITEMIDLIST* ppidl);
-void __RPC_STUB IPersistFolder2_GetCurFolder_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IPersistFolder2_INTERFACE_DEFINED__ */
-
-#ifndef __IEnumIDList_FWD_DEFINED__
-#define __IEnumIDList_FWD_DEFINED__
-typedef struct IEnumIDList IEnumIDList;
-#endif
-
-typedef IEnumIDList *LPENUMIDLIST;
-
-/*****************************************************************************
- * IEnumIDList interface
- */
-#ifndef __IEnumIDList_INTERFACE_DEFINED__
-#define __IEnumIDList_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-struct IEnumIDList : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE Next(
-        ULONG celt,
-        LPITEMIDLIST* rgelt,
-        ULONG* pceltFetched) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Skip(
-        ULONG celt) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Reset(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Clone(
-        IEnumIDList** ppenum) = 0;
-
-};
-#else
-typedef struct IEnumIDListVtbl IEnumIDListVtbl;
-struct IEnumIDList {
-    const IEnumIDListVtbl* lpVtbl;
-};
-struct IEnumIDListVtbl {
-    ICOM_MSVTABLE_COMPAT_FIELDS
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IEnumIDList* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IEnumIDList* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IEnumIDList* This);
-
-    /*** IEnumIDList methods ***/
-    HRESULT (STDMETHODCALLTYPE *Next)(
-        IEnumIDList* This,
-        ULONG celt,
-        LPITEMIDLIST* rgelt,
-        ULONG* pceltFetched);
-
-    HRESULT (STDMETHODCALLTYPE *Skip)(
-        IEnumIDList* This,
-        ULONG celt);
-
-    HRESULT (STDMETHODCALLTYPE *Reset)(
-        IEnumIDList* This);
-
-    HRESULT (STDMETHODCALLTYPE *Clone)(
-        IEnumIDList* This,
-        IEnumIDList** ppenum);
-
-};
-
-/*** IUnknown methods ***/
-#define IEnumIDList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IEnumIDList_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IEnumIDList_Release(p) (p)->lpVtbl->Release(p)
-/*** IEnumIDList methods ***/
-#define IEnumIDList_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
-#define IEnumIDList_Skip(p,a) (p)->lpVtbl->Skip(p,a)
-#define IEnumIDList_Reset(p) (p)->lpVtbl->Reset(p)
-#define IEnumIDList_Clone(p,a) (p)->lpVtbl->Clone(p,a)
-
-#endif
-
-#define IEnumIDList_METHODS \
-    ICOM_MSVTABLE_COMPAT_FIELDS \
-    /*** IUnknown methods ***/ \
-    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
-    STDMETHOD_(ULONG,Release)(THIS) PURE; \
-    /*** IEnumIDList methods ***/ \
-    STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched) PURE; \
-    STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
-    STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
-    STDMETHOD_(HRESULT,Clone)(THIS_ IEnumIDList** ppenum) PURE;
-
-HRESULT CALLBACK IEnumIDList_Next_Proxy(
-    IEnumIDList* This,
-    ULONG celt,
-    LPITEMIDLIST* rgelt,
-    ULONG* pceltFetched);
-void __RPC_STUB IEnumIDList_Next_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IEnumIDList_Skip_Proxy(
-    IEnumIDList* This,
-    ULONG celt);
-void __RPC_STUB IEnumIDList_Skip_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IEnumIDList_Reset_Proxy(
-    IEnumIDList* This);
-void __RPC_STUB IEnumIDList_Reset_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IEnumIDList_Clone_Proxy(
-    IEnumIDList* This,
-    IEnumIDList** ppenum);
-void __RPC_STUB IEnumIDList_Clone_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IEnumIDList_INTERFACE_DEFINED__ */
-
-#ifndef __IShellFolder_FWD_DEFINED__
-#define __IShellFolder_FWD_DEFINED__
-typedef struct IShellFolder IShellFolder;
-#endif
-
-typedef IShellFolder *LPSHELLFOLDER;
-
-typedef enum tagSHGDN {
-    SHGDN_NORMAL = 0,
-    SHGDN_INFOLDER = 1,
-    SHGDN_FOREDITING = 0x1000,
-    SHGDN_INCLUDE_NONFILESYS = 0x2000,
-    SHGDN_FORADDRESSBAR = 0x4000,
-    SHGDN_FORPARSING = 0x8000
-} SHGNO;
-
-typedef DWORD SHGDNF;
-
-enum tagSHCONTF {
-    SHCONTF_FOLDERS = 32,
-    SHCONTF_NONFOLDERS = 64,
-    SHCONTF_INCLUDEHIDDEN = 128,
-    SHCONTF_INIT_ON_FIRST_NEXT = 256,
-    SHCONTF_NETPRINTERSRCH = 512,
-    SHCONTF_SHAREABLE = 1024,
-    SHCONTF_STORAGE = 2048
-};
-
-typedef DWORD SHCONTF;
-
-#define SFGAO_CANCOPY           DROPEFFECT_COPY
-#define SFGAO_CANMOVE           DROPEFFECT_MOVE
-#define SFGAO_CANLINK           DROPEFFECT_LINK
-#define SFGAO_CANRENAME         0x00000010L
-#define SFGAO_CANDELETE         0x00000020L
-#define SFGAO_HASPROPSHEET      0x00000040L
-#define SFGAO_DROPTARGET        0x00000100L
-#define SFGAO_CAPABILITYMASK    0x00000177L
-#define SFGAO_LINK              0x00010000L
-#define SFGAO_SHARE             0x00020000L
-#define SFGAO_READONLY          0x00040000L
-#define SFGAO_GHOSTED           0x00080000L
-#define SFGAO_HIDDEN            0x00080000L
-#define SFGAO_DISPLAYATTRMASK   0x000F0000L
-#define SFGAO_FILESYSANCESTOR   0x10000000L
-#define SFGAO_FOLDER            0x20000000L
-#define SFGAO_FILESYSTEM        0x40000000L
-#define SFGAO_HASSUBFOLDER      0x80000000L
-#define SFGAO_CONTENTSMASK      0x80000000L
-#define SFGAO_VALIDATE          0x01000000L
-#define SFGAO_REMOVABLE         0x02000000L
-#define SFGAO_COMPRESSED        0x04000000L
-#define SFGAO_BROWSABLE         0x08000000L
-#define SFGAO_NONENUMERATED     0x00100000L
-#define SFGAO_NEWCONTENT        0x00200000L
-typedef ULONG SFGAOF;
-
-/*****************************************************************************
- * IShellFolder interface
- */
-#ifndef __IShellFolder_INTERFACE_DEFINED__
-#define __IShellFolder_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-struct IShellFolder : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
-        HWND hwndOwner,
-        LPBC pbcReserved,
-        LPOLESTR lpszDisplayName,
-        ULONG* pchEaten,
-        LPITEMIDLIST* ppidl,
-        ULONG* pdwAttributes) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE EnumObjects(
-        HWND hwndOwner,
-        SHCONTF grfFlags,
-        IEnumIDList** ppenumIDList) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE BindToObject(
-        LPCITEMIDLIST pidl,
-        LPBC pbcReserved,
-        REFIID riid,
-        void** ppvOut) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE BindToStorage(
-        LPCITEMIDLIST pidl,
-        LPBC pbcReserved,
-        REFIID riid,
-        void** ppvObj) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE CompareIDs(
-        LPARAM lParam,
-        LPCITEMIDLIST pidl1,
-        LPCITEMIDLIST pidl2) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE CreateViewObject(
-        HWND hwndOwner,
-        REFIID riid,
-        void** ppvOut) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetAttributesOf(
-        UINT cidl,
-        LPCITEMIDLIST* apidl,
-        SFGAOF* rgfInOut) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf(
-        HWND hwndOwner,
-        UINT cidl,
-        LPCITEMIDLIST* apidl,
-        REFIID riid,
-        UINT* prgfInOut,
-        void** ppvOut) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf(
-        LPCITEMIDLIST pidl,
-        SHGDNF uFlags,
-        STRRET* lpName) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE SetNameOf(
-        HWND hwnd,
-        LPCITEMIDLIST pidl,
-        LPCOLESTR lpszName,
-        SHGDNF uFlags,
-        LPITEMIDLIST* ppidlOut) = 0;
-
-};
-#else
-typedef struct IShellFolderVtbl IShellFolderVtbl;
-struct IShellFolder {
-    const IShellFolderVtbl* lpVtbl;
-};
-struct IShellFolderVtbl {
-    ICOM_MSVTABLE_COMPAT_FIELDS
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IShellFolder* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IShellFolder* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IShellFolder* This);
-
-    /*** IShellFolder methods ***/
-    HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
-        IShellFolder* This,
-        HWND hwndOwner,
-        LPBC pbcReserved,
-        LPOLESTR lpszDisplayName,
-        ULONG* pchEaten,
-        LPITEMIDLIST* ppidl,
-        ULONG* pdwAttributes);
-
-    HRESULT (STDMETHODCALLTYPE *EnumObjects)(
-        IShellFolder* This,
-        HWND hwndOwner,
-        SHCONTF grfFlags,
-        IEnumIDList** ppenumIDList);
-
-    HRESULT (STDMETHODCALLTYPE *BindToObject)(
-        IShellFolder* This,
-        LPCITEMIDLIST pidl,
-        LPBC pbcReserved,
-        REFIID riid,
-        void** ppvOut);
-
-    HRESULT (STDMETHODCALLTYPE *BindToStorage)(
-        IShellFolder* This,
-        LPCITEMIDLIST pidl,
-        LPBC pbcReserved,
-        REFIID riid,
-        void** ppvObj);
-
-    HRESULT (STDMETHODCALLTYPE *CompareIDs)(
-        IShellFolder* This,
-        LPARAM lParam,
-        LPCITEMIDLIST pidl1,
-        LPCITEMIDLIST pidl2);
-
-    HRESULT (STDMETHODCALLTYPE *CreateViewObject)(
-        IShellFolder* This,
-        HWND hwndOwner,
-        REFIID riid,
-        void** ppvOut);
-
-    HRESULT (STDMETHODCALLTYPE *GetAttributesOf)(
-        IShellFolder* This,
-        UINT cidl,
-        LPCITEMIDLIST* apidl,
-        SFGAOF* rgfInOut);
-
-    HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)(
-        IShellFolder* This,
-        HWND hwndOwner,
-        UINT cidl,
-        LPCITEMIDLIST* apidl,
-        REFIID riid,
-        UINT* prgfInOut,
-        void** ppvOut);
-
-    HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)(
-        IShellFolder* This,
-        LPCITEMIDLIST pidl,
-        SHGDNF uFlags,
-        STRRET* lpName);
-
-    HRESULT (STDMETHODCALLTYPE *SetNameOf)(
-        IShellFolder* This,
-        HWND hwnd,
-        LPCITEMIDLIST pidl,
-        LPCOLESTR lpszName,
-        SHGDNF uFlags,
-        LPITEMIDLIST* ppidlOut);
-
-};
-
-/*** IUnknown methods ***/
-#define IShellFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IShellFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IShellFolder_Release(p) (p)->lpVtbl->Release(p)
-/*** IShellFolder methods ***/
-#define IShellFolder_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
-#define IShellFolder_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
-#define IShellFolder_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
-#define IShellFolder_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
-#define IShellFolder_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
-#define IShellFolder_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
-#define IShellFolder_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
-#define IShellFolder_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
-#define IShellFolder_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
-#define IShellFolder_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
-
-#endif
-
-#define IShellFolder_METHODS \
-    ICOM_MSVTABLE_COMPAT_FIELDS \
-    /*** IUnknown methods ***/ \
-    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
-    STDMETHOD_(ULONG,Release)(THIS) PURE; \
-    /*** IShellFolder methods ***/ \
-    STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
-    STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
-    STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
-    STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
-    STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
-    STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
-    STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
-    STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
-    STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
-    STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE;
-
-HRESULT CALLBACK IShellFolder_ParseDisplayName_Proxy(
-    IShellFolder* This,
-    HWND hwndOwner,
-    LPBC pbcReserved,
-    LPOLESTR lpszDisplayName,
-    ULONG* pchEaten,
-    LPITEMIDLIST* ppidl,
-    ULONG* pdwAttributes);
-void __RPC_STUB IShellFolder_ParseDisplayName_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_EnumObjects_Proxy(
-    IShellFolder* This,
-    HWND hwndOwner,
-    SHCONTF grfFlags,
-    IEnumIDList** ppenumIDList);
-void __RPC_STUB IShellFolder_EnumObjects_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_BindToObject_Proxy(
-    IShellFolder* This,
-    LPCITEMIDLIST pidl,
-    LPBC pbcReserved,
-    REFIID riid,
-    void** ppvOut);
-void __RPC_STUB IShellFolder_BindToObject_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_BindToStorage_Proxy(
-    IShellFolder* This,
-    LPCITEMIDLIST pidl,
-    LPBC pbcReserved,
-    REFIID riid,
-    void** ppvObj);
-void __RPC_STUB IShellFolder_BindToStorage_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_CompareIDs_Proxy(
-    IShellFolder* This,
-    LPARAM lParam,
-    LPCITEMIDLIST pidl1,
-    LPCITEMIDLIST pidl2);
-void __RPC_STUB IShellFolder_CompareIDs_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_CreateViewObject_Proxy(
-    IShellFolder* This,
-    HWND hwndOwner,
-    REFIID riid,
-    void** ppvOut);
-void __RPC_STUB IShellFolder_CreateViewObject_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_GetAttributesOf_Proxy(
-    IShellFolder* This,
-    UINT cidl,
-    LPCITEMIDLIST* apidl,
-    SFGAOF* rgfInOut);
-void __RPC_STUB IShellFolder_GetAttributesOf_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_GetUIObjectOf_Proxy(
-    IShellFolder* This,
-    HWND hwndOwner,
-    UINT cidl,
-    LPCITEMIDLIST* apidl,
-    REFIID riid,
-    UINT* prgfInOut,
-    void** ppvOut);
-void __RPC_STUB IShellFolder_GetUIObjectOf_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_GetDisplayNameOf_Proxy(
-    IShellFolder* This,
-    LPCITEMIDLIST pidl,
-    SHGDNF uFlags,
-    STRRET* lpName);
-void __RPC_STUB IShellFolder_GetDisplayNameOf_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IShellFolder_SetNameOf_Proxy(
-    IShellFolder* This,
-    HWND hwnd,
-    LPCITEMIDLIST pidl,
-    LPCOLESTR lpszName,
-    SHGDNF uFlags,
-    LPITEMIDLIST* ppidlOut);
-void __RPC_STUB IShellFolder_SetNameOf_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IShellFolder_INTERFACE_DEFINED__ */
-
-#ifndef __IEnumExtraSearch_FWD_DEFINED__
-#define __IEnumExtraSearch_FWD_DEFINED__
-typedef struct IEnumExtraSearch IEnumExtraSearch;
-#endif
-
-typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
-
-typedef struct {
-    GUID guidSearch;
-    WCHAR wszFriendlyName[80];
-    WCHAR wszUrl[2084];
-} EXTRASEARCH, *LPEXTRASEARCH;
-
-/*****************************************************************************
- * IEnumExtraSearch interface
- */
-#ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
-#define __IEnumExtraSearch_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-struct IEnumExtraSearch : public IUnknown
-{
-    virtual HRESULT STDMETHODCALLTYPE Next(
-        ULONG celt,
-        EXTRASEARCH* rgelt,
-        ULONG* pceltFetched) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Skip(
-        ULONG celt) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Reset(
-        ) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE Clone(
-        IEnumExtraSearch** ppenum) = 0;
-
-};
-#else
-typedef struct IEnumExtraSearchVtbl IEnumExtraSearchVtbl;
-struct IEnumExtraSearch {
-    const IEnumExtraSearchVtbl* lpVtbl;
-};
-struct IEnumExtraSearchVtbl {
-    ICOM_MSVTABLE_COMPAT_FIELDS
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IEnumExtraSearch* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IEnumExtraSearch* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IEnumExtraSearch* This);
-
-    /*** IEnumExtraSearch methods ***/
-    HRESULT (STDMETHODCALLTYPE *Next)(
-        IEnumExtraSearch* This,
-        ULONG celt,
-        EXTRASEARCH* rgelt,
-        ULONG* pceltFetched);
-
-    HRESULT (STDMETHODCALLTYPE *Skip)(
-        IEnumExtraSearch* This,
-        ULONG celt);
-
-    HRESULT (STDMETHODCALLTYPE *Reset)(
-        IEnumExtraSearch* This);
-
-    HRESULT (STDMETHODCALLTYPE *Clone)(
-        IEnumExtraSearch* This,
-        IEnumExtraSearch** ppenum);
-
-};
-
-/*** IUnknown methods ***/
-#define IEnumExtraSearch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
-#define IEnumExtraSearch_AddRef(p) (p)->lpVtbl->AddRef(p)
-#define IEnumExtraSearch_Release(p) (p)->lpVtbl->Release(p)
-/*** IEnumExtraSearch methods ***/
-#define IEnumExtraSearch_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
-#define IEnumExtraSearch_Skip(p,a) (p)->lpVtbl->Skip(p,a)
-#define IEnumExtraSearch_Reset(p) (p)->lpVtbl->Reset(p)
-#define IEnumExtraSearch_Clone(p,a) (p)->lpVtbl->Clone(p,a)
-
-#endif
-
-#define IEnumExtraSearch_METHODS \
-    ICOM_MSVTABLE_COMPAT_FIELDS \
-    /*** IUnknown methods ***/ \
-    STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
-    STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
-    STDMETHOD_(ULONG,Release)(THIS) PURE; \
-    /*** IEnumExtraSearch methods ***/ \
-    STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched) PURE; \
-    STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
-    STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
-    STDMETHOD_(HRESULT,Clone)(THIS_ IEnumExtraSearch** ppenum) PURE;
-
-HRESULT CALLBACK IEnumExtraSearch_Next_Proxy(
-    IEnumExtraSearch* This,
-    ULONG celt,
-    EXTRASEARCH* rgelt,
-    ULONG* pceltFetched);
-void __RPC_STUB IEnumExtraSearch_Next_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IEnumExtraSearch_Skip_Proxy(
-    IEnumExtraSearch* This,
-    ULONG celt);
-void __RPC_STUB IEnumExtraSearch_Skip_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IEnumExtraSearch_Reset_Proxy(
-    IEnumExtraSearch* This);
-void __RPC_STUB IEnumExtraSearch_Reset_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-HRESULT CALLBACK IEnumExtraSearch_Clone_Proxy(
-    IEnumExtraSearch* This,
-    IEnumExtraSearch** ppenum);
-void __RPC_STUB IEnumExtraSearch_Clone_Stub(
-    struct IRpcStubBuffer* This,
-    struct IRpcChannelBuffer* pRpcChannelBuffer,
-    PRPC_MESSAGE pRpcMessage,
-    DWORD* pdwStubPhase);
-
-#endif  /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
-
-#ifndef __IShellFolder2_FWD_DEFINED__
-#define __IShellFolder2_FWD_DEFINED__
-typedef struct IShellFolder2 IShellFolder2;
-#endif
-
-typedef enum {
-    SHCOLSTATE_TYPE_STR = 0x1,
-    SHCOLSTATE_TYPE_INT = 0x2,
-    SHCOLSTATE_TYPE_DATE = 0x3,
-    SHCOLSTATE_TYPEMASK = 0xf,
-    SHCOLSTATE_ONBYDEFAULT = 0x10,
-    SHCOLSTATE_SLOW = 0x20,
-    SHCOLSTATE_EXTENDED = 0x40,
-    SHCOLSTATE_SECONDARYUI = 0x80,
-    SHCOLSTATE_HIDDEN = 0x100,
-    SHCOLSTATE_PREFER_VARCMP = 0x200
-} SHCOLSTATE;
-
-typedef DWORD SHCOLSTATEF;
-
-typedef struct {
-    GUID fmtid;
-    DWORD pid;
-} SHCOLUMNID, *LPSHCOLUMNID;
-
-typedef const SHCOLUMNID *LPCSHCOLUMNID;
-
-/*****************************************************************************
- * IShellFolder2 interface
- */
-#ifndef __IShellFolder2_INTERFACE_DEFINED__
-#define __IShellFolder2_INTERFACE_DEFINED__
-
-DEFINE_GUID(IID_IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1);
-#if defined(__cplusplus) && !defined(CINTERFACE)
-struct IShellFolder2 : public IShellFolder
-{
-    virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID(
-        GUID* lpguid) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE EnumSearches(
-        IEnumExtraSearch** ppenum) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn(
-        DWORD dwReserved,
-        ULONG* pSort,
-        ULONG* pDisplay) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState(
-        UINT iColumn,
-        SHCOLSTATEF* pcsFlags) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetDetailsEx(
-        LPCITEMIDLIST pidl,
-        const SHCOLUMNID* pscid,
-        VARIANT* pv) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(
-        LPCITEMIDLIST pidl,
-        UINT iColumn,
-        SHELLDETAILS* psd) = 0;
-
-    virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID(
-        UINT iColumn,
-        SHCOLUMNID* pscid) = 0;
-
-};
-#else
-typedef struct IShellFolder2Vtbl IShellFolder2Vtbl;
-struct IShellFolder2 {
-    const IShellFolder2Vtbl* lpVtbl;
-};
-struct IShellFolder2Vtbl {
-    ICOM_MSVTABLE_COMPAT_FIELDS
-
-    /*** IUnknown methods ***/
-    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
-        IShellFolder2* This,
-        REFIID riid,
-        void** ppvObject);
-
-    ULONG (STDMETHODCALLTYPE *AddRef)(
-        IShellFolder2* This);
-
-    ULONG (STDMETHODCALLTYPE *Release)(
-        IShellFolder2* This);
-
-    /*** IShellFolder methods ***/
-    HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
-        IShellFolder2* This,
-        HWND hwndOwner,
-        LPBC pbcReserved,
-        LPOLESTR lpszDisplayName,
-        ULONG* pchEaten,
-        LPITEMIDLIST* ppidl,
-        ULONG* pdwAttributes);
-
-    HRESULT (STDMETHODCALLTYPE *EnumObjects)(
-        IShellFolder2* This,
-        HWND hwndOwner,
-        SHCONTF grfFlags,
-        IEnumIDList** ppenumIDList);
-
-    HRESULT (STDMETHODCALLTYPE *BindToObject)(
-        IShellFolder2* This,
-        LPCITEMIDLIST pidl,
-        LPBC pbcReserved,
-        REFIID riid,
-        void** ppvOut);
-
-    HRESULT (STDMETHODCALLTYPE *BindToStorage)(
-        IShellFolder2* This,
-        LPCITEMIDLIST pidl,
-        LPBC pbcReserved,
-        REFIID riid,
-        void** ppvObj);
-
-    HRESULT (STDMETHODCALLTYPE *CompareIDs)(
-        IShellFolder2* This,
-        LPARAM lParam,
-        LPCITEMIDLIST pidl1,
-        LPCITEMIDLIST pidl2);
-
-    HRESULT (STDMETHODCALLTYPE *CreateViewObject)(
-        IShellFolder2* This,
-        HWND hwndOwner,
-        REFIID riid,
-        void** ppvOut);
-
-    HRESULT (STDMETHODCALLTYPE *GetAttributesOf)(
-        IShellFolder2* This,
-        UINT cidl,
-        LPCITEMIDLIST* apidl,
-        SFGAOF* rgfInOut);
-
-    HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)(
-        IShellFolder2* This,
-        HWND hwndOwner,
-        UINT cidl,
-        LPCITEMIDLIST* apidl,
-        REFIID riid,
-        UINT* prgfInOut,
-        void** ppvOut);
-
-    HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)(
-        IShellFolder2* This,
-        LPCITEMIDLIST pidl,
-        SHGDNF uFlags,
-        STRRET* lpName);
-
-    HRESULT (STDMETHODCALLTYPE *SetNameOf)(
-        IShellFolder2* This,
-        HWND hwnd,
-        LPCITEMIDLIST pidl,
-        LPCOLESTR lpszName,
-        SHGDNF uFlags,
-        LPITEMIDLIST* ppidlOut);
-
-    /*** IShellFolder2 methods ***/
-    HRESULT (STDMETHODCALLTYPE *GetDefaultSearchGUID)(
[truncated at 1000 lines; 3291 more skipped]

reactos/include/wine
winnetwk.h 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- winnetwk.h	1 Feb 2004 19:48:44 -0000	1.1
+++ winnetwk.h	29 Jun 2004 13:40:40 -0000	1.2
@@ -1,383 +1,16 @@
-/*
- * Copyright (C) the Wine project
+/* $Id: winnetwk.h,v 1.2 2004/06/29 13:40:40 gvg Exp $
  *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * Compatibility header
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-
-#ifndef _WINNETWK_H_
-#define _WINNETWK_H_
-
-/*
- * Network types
- */
-
-#define WNNC_NET_MSNET      0x00010000
-#define WNNC_NET_LANMAN     0x00020000
-#define WNNC_NET_NETWARE    0x00030000
-#define WNNC_NET_VINES      0x00040000
-#define WNNC_NET_10NET      0x00050000
-#define WNNC_NET_LOCUS      0x00060000
-#define WNNC_NET_SUN_PC_NFS 0x00070000
-#define WNNC_NET_LANSTEP    0x00080000
-#define WNNC_NET_9TILES     0x00090000
-#define WNNC_NET_LANTASTIC  0x000A0000
-#define WNNC_NET_AS400      0x000B0000
-#define WNNC_NET_FTP_NFS    0x000C0000
-#define WNNC_NET_PATHWORKS  0x000D0000
-#define WNNC_NET_LIFENET    0x000E0000
-#define WNNC_NET_POWERLAN   0x000F0000
-#define WNNC_NET_BWNFS      0x00100000
-#define WNNC_NET_COGENT     0x00110000
-#define WNNC_NET_FARALLON   0x00120000
-#define WNNC_NET_APPLETALK  0x00130000
-#define WNNC_NET_INTERGRAPH 0x00140000
-
-/*
- *  Network resources
- */
-
-#define RESOURCE_CONNECTED      0x00000001
-#define RESOURCE_GLOBALNET      0x00000002
-#define RESOURCE_REMEMBERED     0x00000003
-#define RESOURCE_RECENT         0x00000004
-#define RESOURCE_CONTEXT        0x00000005
-
-#define RESOURCETYPE_ANY        0x00000000
-#define RESOURCETYPE_DISK       0x00000001
-#define RESOURCETYPE_PRINT      0x00000002
-#define RESOURCETYPE_RESERVED   0x00000008
-#define RESOURCETYPE_UNKNOWN    0xFFFFFFFF
-
-#define RESOURCEUSAGE_CONNECTABLE   0x00000001
-#define RESOURCEUSAGE_CONTAINER     0x00000002
-#define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004
-#define RESOURCEUSAGE_SIBLING       0x00000008
-#define RESOURCEUSAGE_ATTACHED      0x00000010
-#define RESOURCEUSAGE_ALL           (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED)
-#define RESOURCEUSAGE_RESERVED      0x80000000
-
-#define RESOURCEDISPLAYTYPE_GENERIC        0x00000000
-#define RESOURCEDISPLAYTYPE_DOMAIN         0x00000001
-#define RESOURCEDISPLAYTYPE_SERVER         0x00000002
-#define RESOURCEDISPLAYTYPE_SHARE          0x00000003
-#define RESOURCEDISPLAYTYPE_FILE           0x00000004
-#define RESOURCEDISPLAYTYPE_GROUP          0x00000005
-#define RESOURCEDISPLAYTYPE_NETWORK        0x00000006
-#define RESOURCEDISPLAYTYPE_ROOT           0x00000007
-#define RESOURCEDISPLAYTYPE_SHAREADMIN     0x00000008
-#define RESOURCEDISPLAYTYPE_DIRECTORY      0x00000009
-#define RESOURCEDISPLAYTYPE_TREE           0x0000000A
-
-typedef struct {
-	DWORD	dwScope;
-	DWORD	dwType;
-	DWORD	dwDisplayType;
-	DWORD	dwUsage;
-	LPSTR	lpLocalName;
-	LPSTR	lpRemoteName;
-	LPSTR	lpComment ;
-	LPSTR	lpProvider;
-} NETRESOURCEA,*LPNETRESOURCEA;
-
-typedef struct {
-	DWORD	dwScope;
-	DWORD	dwType;
-	DWORD	dwDisplayType;
-	DWORD	dwUsage;
-	LPWSTR	lpLocalName;
-	LPWSTR	lpRemoteName;
-	LPWSTR	lpComment ;
-	LPWSTR	lpProvider;
-} NETRESOURCEW,*LPNETRESOURCEW;
-
-DECL_WINELIB_TYPE_AW(NETRESOURCE)
-DECL_WINELIB_TYPE_AW(LPNETRESOURCE)
-
-
-/*
- *  Network connections
- */
-
-#define NETPROPERTY_PERSISTENT       1
-
-#define CONNECT_UPDATE_PROFILE      0x00000001
-#define CONNECT_UPDATE_RECENT       0x00000002
-#define CONNECT_TEMPORARY           0x00000004
-#define CONNECT_INTERACTIVE         0x00000008
-#define CONNECT_PROMPT              0x00000010
-#define CONNECT_NEED_DRIVE          0x00000020
-#define CONNECT_REFCOUNT            0x00000040
-#define CONNECT_REDIRECT            0x00000080
-#define CONNECT_LOCALDRIVE          0x00000100
-#define CONNECT_CURRENT_MEDIA       0x00000200
-
-DWORD WINAPI WNetAddConnectionA(LPCSTR,LPCSTR,LPCSTR);
-DWORD WINAPI WNetAddConnectionW(LPCWSTR,LPCWSTR,LPCWSTR);
-#define      WNetAddConnection WINELIB_NAME_AW(WNetAddConnection)
-DWORD WINAPI WNetAddConnection2A(LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
-DWORD WINAPI WNetAddConnection2W(LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
-#define      WNetAddConnection2 WINELIB_NAME_AW(WNetAddConnection2)
-DWORD WINAPI WNetAddConnection3A(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD);
-DWORD WINAPI WNetAddConnection3W(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD);
-#define      WNetAddConnection3 WINELIB_NAME_AW(WNetAddConnection3)
-DWORD WINAPI WNetCancelConnectionA(LPCSTR,BOOL);
-DWORD WINAPI WNetCancelConnectionW(LPCWSTR,BOOL);
-#define      WNetCancelConnection WINELIB_NAME_AW(WNetCancelConnection)
-DWORD WINAPI WNetCancelConnection2A(LPCSTR,DWORD,BOOL);
-DWORD WINAPI WNetCancelConnection2W(LPCWSTR,DWORD,BOOL);
-#define      WNetCancelConnection2 WINELIB_NAME_AW(WNetCancelConnection2)
-DWORD WINAPI WNetGetConnectionA(LPCSTR,LPSTR,LPDWORD);
-DWORD WINAPI WNetGetConnectionW(LPCWSTR,LPWSTR,LPDWORD);
-#define      WNetGetConnection WINELIB_NAME_AW(WNetGetConnection)
-DWORD WINAPI WNetUseConnectionA(HWND,LPNETRESOURCEA,LPCSTR,LPCSTR,DWORD,LPSTR,LPDWORD,LPDWORD);
-DWORD WINAPI WNetUseConnectionW(HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPDWORD,LPDWORD);
-#define      WNetUseConnection WINELIB_NAME_AW(WNetUseConnection)
-DWORD WINAPI WNetSetConnectionA(LPCSTR,DWORD,LPVOID);
-DWORD WINAPI WNetSetConnectionW(LPCWSTR,DWORD,LPVOID);
-#define      WNetSetConnection WINELIB_NAME_AW(WNetSetConnection)
-
-/*
- *  Network connection dialogs
- */
-
-typedef struct {
-    DWORD cbStructure;       /* size of this structure in bytes */
-    HWND hwndOwner;          /* owner window for the dialog */
-    LPNETRESOURCEA lpConnRes;/* Requested Resource info    */
-    DWORD dwFlags;           /* flags (see below) */
-    DWORD dwDevNum;          /* number of devices connected to */
-} CONNECTDLGSTRUCTA, *LPCONNECTDLGSTRUCTA;
-typedef struct {
-    DWORD cbStructure;       /* size of this structure in bytes */
-    HWND hwndOwner;          /* owner window for the dialog */
-    LPNETRESOURCEW lpConnRes;/* Requested Resource info    */
-    DWORD dwFlags;           /* flags (see below) */
-    DWORD dwDevNum;          /* number of devices connected to */
-} CONNECTDLGSTRUCTW, *LPCONNECTDLGSTRUCTW;
-
-DECL_WINELIB_TYPE_AW(CONNECTDLGSTRUCT)
-DECL_WINELIB_TYPE_AW(LPCONNECTDLGSTRUCT)
-
-#define CONNDLG_RO_PATH     0x00000001 /* Resource path should be read-only    */
-#define CONNDLG_CONN_POINT  0x00000002 /* Netware -style movable connection point enabled */
-#define CONNDLG_USE_MRU     0x00000004 /* Use MRU combobox  */
-#define CONNDLG_HIDE_BOX    0x00000008 /* Hide persistent connect checkbox  */
-#define CONNDLG_PERSIST     0x00000010 /* Force persistent connection */
-#define CONNDLG_NOT_PERSIST 0x00000020 /* Force connection NOT persistent */
-
-typedef struct {
-    DWORD           cbStructure;      /* size of this structure in bytes */
-    HWND            hwndOwner;        /* owner window for the dialog */
-    LPSTR           lpLocalName;      /* local device name */
-    LPSTR           lpRemoteName;     /* network resource name */
-    DWORD           dwFlags;          /* flags */
-} DISCDLGSTRUCTA, *LPDISCDLGSTRUCTA;
-typedef struct {
-    DWORD           cbStructure;      /* size of this structure in bytes */
-    HWND            hwndOwner;        /* owner window for the dialog */
-    LPWSTR          lpLocalName;      /* local device name */
-    LPWSTR          lpRemoteName;     /* network resource name */
-    DWORD           dwFlags;          /* flags */
-} DISCDLGSTRUCTW, *LPDISCDLGSTRUCTW;
-
-DECL_WINELIB_TYPE_AW(DISCDLGSTRUCT)
-DECL_WINELIB_TYPE_AW(LPDISCDLGSTRUCT)
-
-#define DISC_UPDATE_PROFILE         0x00000001
-#define DISC_NO_FORCE               0x00000040
-
-DWORD WINAPI WNetConnectionDialog(HWND,DWORD);
-DWORD WINAPI WNetDisconnectDialog(HWND,DWORD);
-DWORD WINAPI WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA);
-DWORD WINAPI WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW);
-#define      WNetConnectionDialog1 WINELIB_NAME_AW(WNetConnectionDialog1)
-DWORD WINAPI WNetDisconnectDialog1A(LPDISCDLGSTRUCTA);
-DWORD WINAPI WNetDisconnectDialog1W(LPDISCDLGSTRUCTW);
-#define      WNetDisconnectDialog1 WINELIB_NAME_AW(WNetDisconnectDialog1)
-
-/*
- *  Network browsing
+ * This header is wrapper to allow compilation of Wine DLLs under ReactOS
+ * build system. It contains definitions commonly refered to as Wineisms
+ * and definitions that are missing in w32api.
  */
 
-DWORD WINAPI WNetOpenEnumA(DWORD,DWORD,DWORD,LPNETRESOURCEA,LPHANDLE);
-DWORD WINAPI WNetOpenEnumW(DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE);
-#define      WNetOpenEnum WINELIB_NAME_AW(WNetOpenEnum)
-DWORD WINAPI WNetEnumResourceA(HANDLE,LPDWORD,LPVOID,LPDWORD);
-DWORD WINAPI WNetEnumResourceW(HANDLE,LPDWORD,LPVOID,LPDWORD);
-#define      WNetEnumResource WINELIB_NAME_AW(WNetEnumResource)
-DWORD WINAPI WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPSTR*);
-DWORD WINAPI WNetGetResourceInformationW(LPNETRESOURCEW,LPVOID,LPDWORD,LPWSTR*);
-#define      WNetGetResourceInformation WINELIB_NAME_AW(WNetGetResourceInformation)
-DWORD WINAPI WNetGetResourceParentA(LPNETRESOURCEA,LPVOID,LPDWORD);
-DWORD WINAPI WNetGetResourceParentW(LPNETRESOURCEW,LPVOID,LPDWORD);
-#define      WNetGetResourceParent WINELIB_NAME_AW(WNetGetResourceParent)
-DWORD WINAPI WNetCloseEnum(HANDLE);
-
-/*
- *  Universal naming
- */
-
-#define UNIVERSAL_NAME_INFO_LEVEL   0x00000001
-#define REMOTE_NAME_INFO_LEVEL      0x00000002
-
-typedef struct {
-    LPSTR    lpUniversalName;
-} UNIVERSAL_NAME_INFOA, *LPUNIVERSAL_NAME_INFOA;
-typedef struct {
-    LPWSTR   lpUniversalName;
-} UNIVERSAL_NAME_INFOW, *LPUNIVERSAL_NAME_INFOW;
-
-DECL_WINELIB_TYPE_AW(UNIVERSAL_NAME_INFO)
-DECL_WINELIB_TYPE_AW(LPUNIVERSAL_NAME_INFO)
-
-typedef struct {
-    LPSTR    lpUniversalName;
-    LPSTR    lpConnectionName;
-    LPSTR    lpRemainingPath;
-}REMOTE_NAME_INFOA, *LPREMOTE_NAME_INFOA;
-typedef struct {
-    LPWSTR   lpUniversalName;
-    LPWSTR   lpConnectionName;
-    LPWSTR   lpRemainingPath;
-}REMOTE_NAME_INFOW, *LPREMOTE_NAME_INFOW;
-
-DECL_WINELIB_TYPE_AW(REMOTE_NAME_INFO)
-DECL_WINELIB_TYPE_AW(LPREMOTE_NAME_INFO)
-
-DWORD WINAPI WNetGetUniversalNameA(LPCSTR,DWORD,LPVOID,LPDWORD);
-DWORD WINAPI WNetGetUniversalNameW(LPCWSTR,DWORD,LPVOID,LPDWORD);
-#define      WNetGetUniversalName WINELIB_NAME_AW(WNetGetUniversalName)
-
-/*
- *  Other
- */
-
-DWORD WINAPI WNetGetUserA(LPCSTR,LPSTR,LPDWORD);
-DWORD WINAPI WNetGetUserW(LPCWSTR,LPWSTR,LPDWORD);
-#define      WNetGetUser WINELIB_NAME_AW(WNetGetUser)
-
-#define WNFMT_MULTILINE         0x01
-#define WNFMT_ABBREVIATED       0x02
-#define WNFMT_INENUM            0x10
-#define WNFMT_CONNECTION        0x20
-
-DWORD WINAPI WNetGetProviderNameA(DWORD,LPSTR,LPDWORD);
-DWORD WINAPI WNetGetProviderNameW(DWORD,LPWSTR,LPDWORD);
-#define      WNetGetProviderName WINELIB_NAME_AW(WNetGetProviderName)
-
-typedef struct {
-    DWORD cbStructure;
-    DWORD dwProviderVersion;
-    DWORD dwStatus;
-    DWORD dwCharacteristics;
-    DWORD dwHandle;
-    WORD  wNetType;
-    DWORD dwPrinters;
-    DWORD dwDrives;
-} NETINFOSTRUCT, *LPNETINFOSTRUCT;
-
-#define NETINFO_DLL16       0x00000001
-#define NETINFO_DISKRED     0x00000004
-#define NETINFO_PRINTERRED  0x00000008
-
-DWORD WINAPI WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
-DWORD WINAPI WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
-#define      WNetGetNetworkInformation WINELIB_NAME_AW(WNetGetNetworkInformation)
+#include_next <winnetwk.h>
 
-
-/*
- *  Status codes
- */
-
-DWORD WINAPI WNetGetLastErrorA(LPDWORD,LPSTR,DWORD,LPSTR,DWORD);
-DWORD WINAPI WNetGetLastErrorW(LPDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
-#define      WNetGetLastError WINELIB_NAME_AW(WNetGetLastError)
-
-#define WN_SUCCESS                      NO_ERROR
-#define WN_NO_ERROR                     NO_ERROR
-#define WN_NOT_SUPPORTED                ERROR_NOT_SUPPORTED
-#define WN_CANCEL                       ERROR_CANCELLED
-#define WN_RETRY                        ERROR_RETRY
-#define WN_NET_ERROR                    ERROR_UNEXP_NET_ERR
-#define WN_MORE_DATA                    ERROR_MORE_DATA
-#define WN_BAD_POINTER                  ERROR_INVALID_ADDRESS
-#define WN_BAD_VALUE                    ERROR_INVALID_PARAMETER
-#define WN_BAD_USER                     ERROR_BAD_USERNAME
-#define WN_BAD_PASSWORD                 ERROR_INVALID_PASSWORD
-#define WN_ACCESS_DENIED                ERROR_ACCESS_DENIED
-#define WN_FUNCTION_BUSY                ERROR_BUSY
-#define WN_WINDOWS_ERROR                ERROR_UNEXP_NET_ERR
-#define WN_OUT_OF_MEMORY                ERROR_NOT_ENOUGH_MEMORY
-#define WN_NO_NETWORK                   ERROR_NO_NETWORK
-#define WN_EXTENDED_ERROR               ERROR_EXTENDED_ERROR
-#define WN_BAD_LEVEL                    ERROR_INVALID_LEVEL
-#define WN_BAD_HANDLE                   ERROR_INVALID_HANDLE
-#define WN_NOT_INITIALIZING             ERROR_ALREADY_INITIALIZED
-#define WN_NO_MORE_DEVICES              ERROR_NO_MORE_DEVICES
-
-#define WN_NOT_CONNECTED                ERROR_NOT_CONNECTED
-#define WN_OPEN_FILES                   ERROR_OPEN_FILES
-#define WN_DEVICE_IN_USE                ERROR_DEVICE_IN_USE
-#define WN_BAD_NETNAME                  ERROR_BAD_NET_NAME
-#define WN_BAD_LOCALNAME                ERROR_BAD_DEVICE
-#define WN_ALREADY_CONNECTED            ERROR_ALREADY_ASSIGNED
-#define WN_DEVICE_ERROR                 ERROR_GEN_FAILURE
-#define WN_CONNECTION_CLOSED            ERROR_CONNECTION_UNAVAIL
-#define WN_NO_NET_OR_BAD_PATH           ERROR_NO_NET_OR_BAD_PATH
-#define WN_BAD_PROVIDER                 ERROR_BAD_PROVIDER
-#define WN_CANNOT_OPEN_PROFILE          ERROR_CANNOT_OPEN_PROFILE
-#define WN_BAD_PROFILE                  ERROR_BAD_PROFILE
-#define WN_BAD_DEV_TYPE                 ERROR_BAD_DEV_TYPE
-#define WN_DEVICE_ALREADY_REMEMBERED    ERROR_DEVICE_ALREADY_REMEMBERED
-
-#define WN_NO_MORE_ENTRIES              ERROR_NO_MORE_ITEMS
-#define WN_NOT_CONTAINER                ERROR_NOT_CONTAINER
-
-#define WN_NOT_AUTHENTICATED            ERROR_NOT_AUTHENTICATED
-#define WN_NOT_LOGGED_ON                ERROR_NOT_LOGGED_ON
-#define WN_NOT_VALIDATED                ERROR_NO_LOGON_SERVERS
-
-
-/*
- *  Multinet (for Shell)
- */
-
-typedef struct {
-	DWORD	cbStructure;
-	DWORD	dwFlags;
-	DWORD	dwSpeed;
-	DWORD	dwDelay;
-	DWORD	dwOptDataSize;
-} NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT;
-
-#define WNCON_FORNETCARD        0x00000001
-#define WNCON_NOTROUTED         0x00000002
-#define WNCON_SLOWLINK          0x00000004
-#define WNCON_DYNAMIC           0x00000008
-
-DWORD WINAPI MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);
-DWORD WINAPI MultinetGetConnectionPerformanceW(LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT);
-#define      MultinetGetConnectionPerformance WINELIB_NAME_AW(MultinetGetConnectionPerformance)
-DWORD WINAPI MultinetGetErrorTextA(DWORD,DWORD,DWORD);
-DWORD WINAPI MultinetGetErrorTextW(DWORD,DWORD,DWORD);
-#define      MultinetGetErrorText WINELIB_NAME_AW(MultinetGetErrorText)
-
-/*
- * Password cache
- */
+#ifndef __WINE_WINNETWK_H
+#define __WINE_WINNETWK_H
 
 /* WNetEnumCachedPasswords */
 typedef struct tagPASSWORD_CACHE_ENTRY
@@ -392,8 +25,5 @@
 
 typedef BOOL (CALLBACK *ENUMPASSWORDPROC)(PASSWORD_CACHE_ENTRY *, DWORD);
 UINT WINAPI WNetEnumCachedPasswords( LPSTR, WORD, BYTE, ENUMPASSWORDPROC, DWORD);
-DWORD WINAPI WNetGetCachedPassword( LPSTR, WORD, LPSTR, LPWORD, BYTE );
-DWORD WINAPI WNetCachePassword( LPSTR, WORD, LPSTR, WORD, BYTE, WORD );
-
 
-#endif /* _WINNETWK_H_ */
+#endif /* __WINE_WINNETWK_H */

reactos/w32api/include
shlguid.h 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- shlguid.h	21 Feb 2004 09:20:34 -0000	1.1
+++ shlguid.h	29 Jun 2004 13:40:40 -0000	1.2
@@ -9,8 +9,14 @@
 #endif
 #define DEFINE_SHLGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
 #define SID_SShellBrowser IID_IShellBrowser
+extern const GUID CLSID_MyComputer;
 extern const GUID CLSID_ShellDesktop;
 extern const GUID CLSID_ShellLink;
+extern const GUID CLSID_ControlPanel;
+extern const GUID CLSID_Internet;
+extern const GUID CLSID_NetworkPlaces;
+extern const GUID CLSID_RecycleBin;
+extern const GUID CLSID_ShellFSFolder;
 extern const GUID FMTID_Intshcut;
 extern const GUID FMTID_InternetSite;
 extern const GUID CGID_Explorer;

reactos/w32api/include
shlobj.h 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- shlobj.h	28 Feb 2004 20:14:33 -0000	1.2
+++ shlobj.h	29 Jun 2004 13:40:40 -0000	1.3
@@ -332,6 +332,50 @@
 #define SVGIO_ALLVIEW	2
 #define SV2GV_CURRENTVIEW ((UINT)-1)
 #define SV2GV_DEFAULTVIEW ((UINT)-2)
+#define SHCNE_RENAMEITEM	0x00000001
+#define SHCNE_CREATE		0x00000002
+#define SHCNE_DELETE		0x00000004
+#define SHCNE_MKDIR		0x00000008
+#define SHCNE_RMDIR		0x00000010
+#define SHCNE_MEDIAINSERTED	0x00000020
+#define SHCNE_MEDIAREMOVED	0x00000040
+#define SHCNE_DRIVEREMOVED	0x00000080
+#define SHCNE_DRIVEADD		0x00000100
+#define SHCNE_NETSHARE		0x00000200
+#define SHCNE_NETUNSHARE	0x00000400
+#define SHCNE_ATTRIBUTES	0x00000800
+#define SHCNE_UPDATEDIR		0x00001000
+#define SHCNE_UPDATEITEM	0x00002000
+#define SHCNE_SERVERDISCONNECT	0x00004000
+#define SHCNE_UPDATEIMAGE	0x00008000
+#define SHCNE_DRIVEADDGUI	0x00010000
+#define SHCNE_RENAMEFOLDER	0x00020000
+#define SHCNE_FREESPACE		0x00040000
+#define SHCNE_EXTENDED_EVENT	0x04000000
+#define SHCNE_ASSOCCHANGED	0x08000000
+#define SHCNE_DISKEVENTS	0x0002381F
+#define SHCNE_GLOBALEVENTS	0x0C0581E0
+#define SHCNE_ALLEVENTS		0x7FFFFFFF
+#define SHCNE_INTERRUPT		0x80000000
+#define SHCNEE_ORDERCHANGED	0x0002L
+#define SHCNEE_MSI_CHANGE	0x0004L
+#define SHCNEE_MSI_UNINSTALL	0x0005L
+#define SHCNF_IDLIST		0x0000
+#define SHCNF_PATHA		0x0001
+#define SHCNF_PRINTERA		0x0002
+#define SHCNF_DWORD		0x0003
+#define SHCNF_PATHW		0x0005
+#define SHCNF_PRINTERW		0x0006
+#define SHCNF_TYPE		0x00FF
+#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
 
 typedef ULONG SFGAOF;
 typedef DWORD SHGDNF;
@@ -516,6 +560,205 @@
 	int csidl;
 } PERSIST_FOLDER_TARGET_INFO;
 #endif
+typedef struct _SHChangeNotifyEntry
+{
+    LPCITEMIDLIST pidl;
+    BOOL   fRecursive;
+} SHChangeNotifyEntry;
+#define NUM_POINTS 3
+typedef struct
+{
+    int   iNextSample;
+    DWORD dwLastScroll;
+    BOOL  bFull;
+    POINT pts[NUM_POINTS];
+    DWORD dwTimes[NUM_POINTS];
+} AUTO_SCROLL_DATA;
+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;
+typedef enum RESTRICTIONS
+{
+	REST_NONE			= 0x00000000,
+	REST_NORUN			= 0x00000001,
+	REST_NOCLOSE			= 0x00000002,
+	REST_NOSAVESET			= 0x00000004,
+	REST_NOFILEMENU			= 0x00000008,
+	REST_NOSETFOLDERS		= 0x00000010,
+	REST_NOSETTASKBAR		= 0x00000020,
+	REST_NODESKTOP			= 0x00000040,
+	REST_NOFIND			= 0x00000080,
+	REST_NODRIVES			= 0x00000100,
+	REST_NODRIVEAUTORUN		= 0x00000200,
+	REST_NODRIVETYPEAUTORUN		= 0x00000400,
+	REST_NONETHOOD			= 0x00000800,
+	REST_STARTBANNER		= 0x00001000,
+	REST_RESTRICTRUN		= 0x00002000,
+	REST_NOPRINTERTABS		= 0x00004000,
+	REST_NOPRINTERDELETE		= 0x00008000,
+	REST_NOPRINTERADD		= 0x00010000,
+	REST_NOSTARTMENUSUBFOLDERS	= 0x00020000,
+	REST_MYDOCSONNET		= 0x00040000,
+	REST_NOEXITTODOS		= 0x00080000,
+	REST_ENFORCESHELLEXTSECURITY	= 0x00100000,
+	REST_LINKRESOLVEIGNORELINKINFO	= 0x00200000,
+	REST_NOCOMMONGROUPS		= 0x00400000,
+	REST_SEPARATEDESKTOPPROCESS	= 0x00800000,
+	REST_NOWEB			= 0x01000000,
+	REST_NOTRAYCONTEXTMENU		= 0x02000000,
+	REST_NOVIEWCONTEXTMENU		= 0x04000000,
+	REST_NONETCONNECTDISCONNECT	= 0x08000000,
+	REST_STARTMENULOGOFF		= 0x10000000,
+	REST_NOSETTINGSASSIST		= 0x20000000,
+	REST_NOINTERNETICON		= 0x40000001,
+	REST_NORECENTDOCSHISTORY,
+	REST_NORECENTDOCSMENU,
+	REST_NOACTIVEDESKTOP,
+	REST_NOACTIVEDESKTOPCHANGES,
+	REST_NOFAVORITESMENU,
+	REST_CLEARRECENTDOCSONEXIT,
+	REST_CLASSICSHELL,
+	REST_NOCUSTOMIZEWEBVIEW,
+
+	REST_NOHTMLWALLPAPER		= 0x40000010,
+	REST_NOCHANGINGWALLPAPER,
+	REST_NODESKCOMP,
+	REST_NOADDDESKCOMP,
+	REST_NODELDESKCOMP,
+	REST_NOCLOSEDESKCOMP,
+	REST_NOCLOSE_DRAGDROPBAND,
+	REST_NOMOVINGBAND,
+	REST_NOEDITDESKCOMP,
+	REST_NORESOLVESEARCH,
+	REST_NORESOLVETRACK,
+	REST_FORCECOPYACLWITHFILE,
+	REST_NOLOGO3CHANNELNOTIFY,
+	REST_NOFORGETSOFTWAREUPDATE,
+	REST_NOSETACTIVEDESKTOP,
+	REST_NOUPDATEWINDOWS,
+	REST_NOCHANGESTARMENU,		/* 0x40000020 */
+	REST_NOFOLDEROPTIONS,
+	REST_HASFINDCOMPUTERS,
+	REST_INTELLIMENUS,
+	REST_RUNDLGMEMCHECKBOX,
+	REST_ARP_ShowPostSetup,
+	REST_NOCSC,
+	REST_NOCONTROLPANEL,
+	REST_ENUMWORKGROUP,
+	REST_ARP_NOARP,
+	REST_ARP_NOREMOVEPAGE,
+	REST_ARP_NOADDPAGE,
+	REST_ARP_NOWINSETUPPAGE,
+	REST_GREYMSIADS,
+	REST_NOCHANGEMAPPEDDRIVELABEL,
+	REST_NOCHANGEMAPPEDDRIVECOMMENT,
+	REST_MaxRecentDocs,		/* 0x40000030 */
+	REST_NONETWORKCONNECTIONS,
+	REST_FORCESTARTMENULOGOFF,
+	REST_NOWEBVIEW,
+	REST_NOCUSTOMIZETHISFOLDER,
+	REST_NOENCRYPTION,
+
+	REST_ALLOWFRENCHENCRYPTION,	/* not documented */
+
+	REST_DONTSHOWSUPERHIDDEN,
+	REST_NOSHELLSEARCHBUTTON,
+	REST_NOHARDWARETAB,
+	REST_NORUNASINSTALLPROMPT,
+	REST_PROMPTRUNASINSTALLNETPATH,
+	REST_NOMANAGEMYCOMPUTERVERB,
+	REST_NORECENTDOCSNETHOOD,
+	REST_DISALLOWRUN,
+	REST_NOWELCOMESCREEN,
+	REST_RESTRICTCPL,		/* 0x40000040 */
+	REST_DISALLOWCPL,
+	REST_NOSMBALLOONTIP,
+	REST_NOSMHELP,
+	REST_NOWINKEYS,
+	REST_NOENCRYPTONMOVE,
+	REST_NOLOCALMACHINERUN,
+	REST_NOCURRENTUSERRUN,
+	REST_NOLOCALMACHINERUNONCE,
+	REST_NOCURRENTUSERRUNONCE,
+	REST_FORCEACTIVEDESKTOPON,
+	REST_NOCOMPUTERSNEARME,
+	REST_NOVIEWONDRIVE,
+	REST_NONETCRAWL,
+	REST_NOSHAREDDOCUMENTS,
+	REST_NOSMMYDOCS,
+	REST_NOSMMYPICS,		/* 0x40000050 */
+	REST_ALLOWBITBUCKDRIVES,
+	REST_NONLEGACYSHELLMODE,
+	REST_NOCONTROLPANELBARRICADE,
+	REST_NOSTARTPAGE,
+	REST_NOAUTOTRAYNOTIFY,
+	REST_NOTASKGROUPING,
+	REST_NOCDBURNING,
+	REST_MYCOMPNOPROP,
+	REST_MYDOCSNOPROP,
+	REST_NOSTARTPANEL,
+	REST_NODISPLAYAPPEARANCEPAGE,
+	REST_NOTHEMESTAB,
+	REST_NOVISUALSTYLECHOICE,
+	REST_NOSIZECHOICE,
+	REST_NOCOLORCHOICE,
+	REST_SETVISUALSTYLE,		/* 0x40000060 */
+	REST_STARTRUNNOHOMEPATH,
+	REST_NOUSERNAMEINSTARTPANEL,
+	REST_NOMYCOMPUTERICON,
+	REST_NOSMNETWORKPLACES,
+	REST_NOSMPINNEDLIST,
+	REST_NOSMMYMUSIC,
+	REST_NOSMEJECTPC,
+	REST_NOSMMOREPROGRAMS,
+	REST_NOSMMFUPROGRAMS,
+	REST_NOTRAYITEMSDISPLAY,
+	REST_NOTOOLBARSONTASKBAR,
+	/* 0x4000006C
+	   0x4000006D
+	   0x4000006E */
+	REST_NOSMCONFIGUREPROGRAMS	= 0x4000006F,
+	REST_HIDECLOCK,			/* 0x40000070 */
+	REST_NOLOWDISKSPACECHECKS,
+	REST_NOENTIRENETWORK,
+	REST_NODESKTOPCLEANUP,
+	REST_BITBUCKNUKEONDELETE,
+	REST_BITBUCKCONFIRMDELETE,
+	REST_BITBUCKNOPROP,
+	REST_NODISPBACKGROUND,
+	REST_NODISPSCREENSAVEPG,
+	REST_NODISPSETTINGSPG,
+	REST_NODISPSCREENSAVEPREVIEW,
+	REST_NODISPLAYCPL,
+	REST_HIDERUNASVERB,
+	REST_NOTHUMBNAILCACHE,
+	REST_NOSTRCMPLOGICAL,
+	REST_NOPUBLISHWIZARD,
+	REST_NOONLINEPRINTSWIZARD,	/* 0x40000080 */
+	REST_NOWEBSERVICES,
+	REST_ALLOWUNHASHEDWEBVIEW,
+	REST_ALLOWLEGACYWEBVIEW,
+	REST_REVERTWEBVIEWSECURITY,
+	
+	REST_INHERITCONSOLEHANDLES	= 0x40000086,
+
+	REST_NODISCONNECT		= 0x41000001,
+	REST_NOSECURITY,
+	REST_NOFILEASSOCIATE,		/* 0x41000003 */
+} RESTRICTIONS;
 
 DECLARE_ENUMERATOR_(IEnumIDList,LPITEMIDLIST);
 typedef IEnumIDList *LPENUMIDLIST;
@@ -848,7 +1091,7 @@
 #define IShellFolder_BindToObject(T,a,b,c,d) (T)->lpVtbl->BindToObject(T,a,b,c,d)
 #define IShellFolder_BindToStorage(T,a,b,c,d) (T)->lpVtbl->BindToStorage(T,a,b,c,d)
 #define IShellFolder_CompareIDs(T,a,b,c) (T)->lpVtbl->CompareIDs(T,a,b,c)
-#define IShellFolder_CreateViewObject(T,a,b) (T)->lpVtbl->CreateViewObject(T,a,b)
+#define IShellFolder_CreateViewObject(T,a,b,c) (T)->lpVtbl->CreateViewObject(T,a,b,c)
 #define IShellFolder_GetAttributesOf(T,a,b,c) (T)->lpVtbl->GetAttributesOf(T,a,b,c)
 #define IShellFolder_GetUIObjectOf(T,a,b,c,d,e,f) (T)->lpVtbl->GetUIObjectOf(T,a,b,c,d,e,f)
 #define IShellFolder_GetDisplayNameOf(T,a,b,c) (T)->lpVtbl->GetDisplayNameOf(T,a,b,c)
@@ -1394,6 +1637,12 @@
 HRESULT WINAPI SHCoCreateInstance(LPCWSTR,REFCLSID,IUnknown*,REFIID,void**);
 #endif
 
+int WINAPI RestartDialog(HWND,LPCWSTR,UINT);
+int WINAPI RestartDialogEx(HWND,LPCWSTR,UINT,UINT);
+
+ULONG WINAPI SHChangeNotifyRegister(HWND,int,LONG,UINT,int,SHChangeNotifyEntry *);
+BOOL WINAPI SHChangeNotifyDeregister(ULONG);
+
 #ifdef UNICODE
 typedef IShellExecuteHookW IShellExecuteHook;
 typedef IShellLinkW IShellLink;

reactos/w32api/include
winnetwk.h 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- winnetwk.h	21 Feb 2004 09:20:34 -0000	1.1
+++ winnetwk.h	29 Jun 2004 13:40:40 -0000	1.2
@@ -277,7 +277,7 @@
 DWORD APIENTRY WNetGetNetworkInformationA(LPCSTR,LPNETINFOSTRUCT);
 DWORD APIENTRY WNetGetNetworkInformationW(LPCWSTR,LPNETINFOSTRUCT);
 DWORD APIENTRY WNetGetResourceInformationA(LPNETRESOURCEA,LPVOID,LPDWORD,LPSTR*);
-DWORD APIENTRY WNetGetResourceInformationW(LPNETRESOURCEA,LPVOID,LPDWORD,LPWSTR*);
+DWORD APIENTRY WNetGetResourceInformationW(LPNETRESOURCEW,LPVOID,LPDWORD,LPWSTR*);
 DWORD APIENTRY WNetGetLastErrorA(PDWORD,LPSTR,DWORD,LPSTR,DWORD);
 DWORD APIENTRY WNetGetLastErrorW(PDWORD,LPWSTR,DWORD,LPWSTR,DWORD);
 DWORD APIENTRY MultinetGetConnectionPerformanceA(LPNETRESOURCEA,LPNETCONNECTINFOSTRUCT);

reactos/lib/shell32
shlfileop.c 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- shlfileop.c	28 Feb 2004 19:12:46 -0000	1.4
+++ shlfileop.c	29 Jun 2004 13:40:40 -0000	1.5
@@ -545,7 +545,7 @@
  *  ERROR_ALREADY_EXISTS when the directory already exists
  *  ERROR_FILENAME_EXCED_RANGE if the filename was to long to process
  */
-DWORD WINAPI SHCreateDirectoryExA(HWND hWnd, LPCSTR path, LPSECURITY_ATTRIBUTES sec)
+int WINAPI SHCreateDirectoryExA(HWND hWnd, LPCSTR path, LPSECURITY_ATTRIBUTES sec)
 {
 	WCHAR wPath[MAX_PATH];
 	TRACE("(%p, %s, %p)\n",hWnd, debugstr_a(path), sec);
@@ -557,9 +557,9 @@
 /*************************************************************************
  * SHCreateDirectoryExW      [SHELL32.@]
  */
-DWORD WINAPI SHCreateDirectoryExW(HWND hWnd, LPCWSTR path, LPSECURITY_ATTRIBUTES sec)
+int WINAPI SHCreateDirectoryExW(HWND hWnd, LPCWSTR path, LPSECURITY_ATTRIBUTES sec)
 {
-	DWORD ret = ERROR_BAD_PATHNAME;
+	int ret = ERROR_BAD_PATHNAME;
 	TRACE("(%p, %s, %p)\n",hWnd, debugstr_w(path), sec);
 
 	if (PathIsRelativeW(path))

reactos/lib/shell32
shellord.c 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- shellord.c	16 Feb 2004 21:46:12 -0000	1.3
+++ shellord.c	29 Jun 2004 13:40:40 -0000	1.4
@@ -612,9 +612,8 @@
  * NOTES
  *     exported by name
  *
- * FIXME: ?? MSDN shows this as a VOID
  */
-DWORD WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv)
+void WINAPI SHAddToRecentDocs (UINT uFlags,LPCVOID pv)
 {
 /* If list is a string list lpfnCompare has the following prototype
  * int CALLBACK MRUCompareString(LPCSTR s1, LPCSTR s2)
@@ -653,20 +652,20 @@
     ret=SHADD_get_policy( "NoRecentDocsHistory", &type, &data, &datalen);
     if ((ret > 0) && (ret != ERROR_FILE_NOT_FOUND)) {
 	ERR("Error %d getting policy \"NoRecentDocsHistory\"\n", ret);
-	return 0;
+	return;
     }
     if (ret == ERROR_SUCCESS) {
 	if (!( (type == REG_DWORD) ||
 	       ((type == REG_BINARY) && (datalen == 4)) )) {
 	    ERR("Error policy data for \"NoRecentDocsHistory\" not formated correctly, type=%ld, len=%ld\n",
 		type, datalen);
-	    return 0;
+	    return;
 	}
 
 	TRACE("policy value for NoRecentDocsHistory = %08lx\n", data[0]);
 	/* now test the actual policy value */
 	if ( data[0] != 0)
-	    return 0;
+	    return;
     }
 
     /* Open key to where the necessary info is
@@ -679,7 +678,7 @@
 			"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer",
 			0, 0, 0, KEY_READ, 0, &HCUbasekey, 0)) {
 	ERR("Failed to create 'Software\\Microsoft\\Windows\\CurrentVersion\\Explorer'\n");
-	return 0;
+	return;
     }
 
     /* Get path to user's "Recent" directory
@@ -729,7 +728,7 @@
 	 */
 	RegDeleteKeyA(HCUbasekey, "RecentDocs");
 	RegCloseKey(HCUbasekey);
-	return 0;
+	return;
     }
 
     /* Have data to add, the jobs to be done:
@@ -785,7 +784,7 @@
 	    /* MRU failed */
 	    ERR("MRU processing failed, handle zero\n");
 	    RegCloseKey(HCUbasekey);
-	    return 0;
+	    return;
 	}
 	len = lstrlenA(doc_name);
 	pos = FindMRUData(mruhandle, doc_name, len, 0);
@@ -934,7 +933,7 @@
 
     /* all done */
     RegCloseKey(HCUbasekey);
-    return 0;
+    return;
 }
 
 /*************************************************************************

reactos/lib/shell32
shellole.c 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- shellole.c	23 Jan 2004 21:44:15 -0000	1.3
+++ shellole.c	29 Jun 2004 13:40:40 -0000	1.4
@@ -495,7 +495,7 @@
 /*************************************************************************
  * SHGetDesktopFolder			[SHELL32.@]
  */
-DWORD WINAPI SHGetDesktopFolder(IShellFolder **psf)
+HRESULT WINAPI SHGetDesktopFolder(IShellFolder **psf)
 {
 	HRESULT	hres = S_OK;
 	TRACE("\n");

reactos/lib/shell32
shell32_main.c 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- shell32_main.c	22 Mar 2004 21:40:12 -0000	1.5
+++ shell32_main.c	29 Jun 2004 13:40:40 -0000	1.6
@@ -706,7 +706,7 @@
  * the shell process and release it immediately
  */
 
-DWORD WINAPI SHLoadInProc (REFCLSID rclsid)
+HRESULT WINAPI SHLoadInProc (REFCLSID rclsid)
 {
     void *ptr = NULL;
 

reactos/lib/shell32
pidl.c 1.20 -> 1.21
diff -u -r1.20 -r1.21
--- pidl.c	9 Apr 2004 20:24:24 -0000	1.20
+++ pidl.c	29 Jun 2004 13:40:40 -0000	1.21
@@ -204,7 +204,7 @@
  * NOTES
  *   when pidl=Desktop return=FALSE
  */
-BOOL WINAPI ILRemoveLastID(LPCITEMIDLIST pidl)
+BOOL WINAPI ILRemoveLastID(LPITEMIDLIST pidl)
 {
 	TRACE_(shell)("pidl=%p\n",pidl);
 
CVSspam 0.2.8