[SHELL32_NEW]
authorGed Murphy <gedmurphy@reactos.org>
Tue, 24 May 2011 19:06:33 +0000 (19:06 +0000)
committerGed Murphy <gedmurphy@reactos.org>
Tue, 24 May 2011 19:06:33 +0000 (19:06 +0000)
- Add many missing (or previously hidden) shell COM interfaces to the public headers.
- The new C++ shell32 dll should now build.

svn path=/branches/shell32_new-bringup/; revision=51896

include/psdk/appmgmt.h
include/psdk/shlguid.h
include/psdk/shlguid_undoc.h
include/psdk/shlobj.h
include/psdk/shlobj_undoc.h
include/psdk/shlwapi.h
include/psdk/shlwapi_undoc.h
include/reactos/wine/commctrl.h

index 365be1d..6050c65 100644 (file)
 #ifndef _APPMGMT_H
 #define _APPMGMT_H
 
+#ifdef __cplusplus
+extern "C" {
+#endif /* defined(__cplusplus) */
+
 typedef struct _MANAGEDAPPLICATION
 {
     LPWSTR pszPackageName;
@@ -42,4 +46,8 @@ typedef struct _MANAGEDAPPLICATION
 DWORD WINAPI CommandLineFromMsiDescriptor(WCHAR*,WCHAR*,DWORD*);
 DWORD WINAPI GetManagedApplications(GUID*,DWORD,DWORD,LPDWORD,PMANAGEDAPPLICATION*);
 
+#ifdef __cplusplus
+} /* extern "C" */
+#endif /* defined(__cplusplus) */
+
 #endif /* _APPMGMT_H */
index a2f0a91..5f50fba 100644 (file)
@@ -57,27 +57,26 @@ DEFINE_GUID(IID_IObjMgr,   0x00BB2761L,0x6A77,0x11D0,0xA5,0x35,0x00,0xC0,0x4F,0x
 DEFINE_GUID(IID_IProgressDialog, 0xEBBC7C04,0x315E,0x11D2,0xB6,0x2F,0x00,0x60,0x97,0xDF,0x5B,0xD4);
 
 
-#ifndef __GNUC__ /* avoid duplicate definitions with shobjidl.h (FIXME) */
-DEFINE_GUID(IID_IDockingWindow,     0x012dd920L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
-DEFINE_OLEGUID(IID_IShellPropSheetExt,  0x000214E9L, 0, 0);
-DEFINE_OLEGUID(IID_IExtractIconA,       0x000214EBL, 0, 0);
-DEFINE_OLEGUID(IID_IExtractIconW,       0x000214FAL, 0, 0);
-DEFINE_OLEGUID(IID_IContextMenu,        0x000214E4L, 0, 0);
-DEFINE_OLEGUID(IID_IContextMenu2,       0x000214F4L, 0, 0);
-DEFINE_OLEGUID(IID_ICommDlgBrowser,     0x000214F1L, 0, 0);
-DEFINE_OLEGUID(IID_IShellBrowser,       0x000214E2L, 0, 0);
-DEFINE_OLEGUID(IID_IShellView,          0x000214E3L, 0, 0);
-DEFINE_OLEGUID(IID_IShellFolder,        0x000214E6L, 0, 0);
-DEFINE_OLEGUID(IID_IShellExtInit,       0x000214E8L, 0, 0);
-DEFINE_OLEGUID(IID_IPersistFolder,      0x000214EAL, 0, 0);
-DEFINE_OLEGUID(IID_IShellLinkA,         0x000214EEL, 0, 0);
-DEFINE_OLEGUID(IID_IEnumIDList,         0x000214F2L, 0, 0);
-DEFINE_OLEGUID(IID_IShellLinkW,         0x000214F9L, 0, 0);
-DEFINE_OLEGUID(IID_IShellExecuteHookA,  0x000214F5L, 0, 0);
-DEFINE_OLEGUID(IID_IShellExecuteHookW,  0x000214FBL, 0, 0);
-DEFINE_OLEGUID(IID_INewShortcutHookA,   0x000214E1L, 0, 0);
-DEFINE_OLEGUID(IID_INewShortcutHookW,   0x000214F7L, 0, 0);
-#endif
+/* avoid duplicate definitions with shobjidl.h (FIXME) */
+/* DEFINE_GUID(IID_IDockingWindow,     0x012dd920L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8); */
+/* DEFINE_OLEGUID(IID_IShellPropSheetExt,  0x000214E9L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IExtractIconA,       0x000214EBL, 0, 0); */
+/* DEFINE_OLEGUID(IID_IExtractIconW,       0x000214FAL, 0, 0); */
+/* DEFINE_OLEGUID(IID_IContextMenu,        0x000214E4L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IContextMenu2,       0x000214F4L, 0, 0); */
+/* DEFINE_OLEGUID(IID_ICommDlgBrowser,     0x000214F1L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IShellBrowser,       0x000214E2L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IShellView,          0x000214E3L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IShellFolder,        0x000214E6L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IShellExtInit,       0x000214E8L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IPersistFolder,      0x000214EAL, 0, 0); */
+/* DEFINE_OLEGUID(IID_IShellLinkA,         0x000214EEL, 0, 0); */
+/* DEFINE_OLEGUID(IID_IEnumIDList,         0x000214F2L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IShellLinkW,         0x000214F9L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IShellExecuteHookA,  0x000214F5L, 0, 0); */
+/* DEFINE_OLEGUID(IID_IShellExecuteHookW,  0x000214FBL, 0, 0); */
+/* DEFINE_OLEGUID(IID_INewShortcutHookA,   0x000214E1L, 0, 0); */
+/* DEFINE_OLEGUID(IID_INewShortcutHookW,   0x000214F7L, 0, 0); */
 
 DEFINE_GUID(CLSID_CUrlHistory, 0x3c374a40, 0xbae4, 0x11cf, 0xbf, 0x7d, 0x00, 0xaa, 0x00, 0x69, 0x46, 0xee);
 #define SID_SUrlHistory       CLSID_CUrlHistory
@@ -134,8 +133,6 @@ DEFINE_GUID(CLSID_ACListISF,      0x03c036f1, 0xa186, 0x11d0, 0x82, 0x4a, 0x00,
 
 DEFINE_GUID(CLSID_ProgressDialog, 0xf8383852, 0xfcd3, 0x11d1, 0xa6, 0xb9, 0x0, 0x60, 0x97, 0xdf, 0x5b, 0xd4);
 
-DEFINE_GUID(CLSID_ShellItem,      0x2fe352ea, 0xfd1f, 0x11d2, 0xb1, 0xf4, 0x00, 0xc0, 0x4f, 0x8e, 0xeb, 0x3e);
-
 #define PSGUID_SHELLDETAILS     {0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0}
 DEFINE_GUID(FMTID_ShellDetails,  0x28636aa6, 0x953d, 0x11d2, 0xb5, 0xd6, 0x0, 0xc0, 0x4f, 0xd9, 0x18, 0xd0);
 #define PID_FINDDATA        0
index b55b90d..d2c8522 100644 (file)
@@ -1,4 +1,24 @@
-
+/*
+ * Copyright (C) 1999 Juergen Schmied
+ * Copyright (C) 2009 Andrew Hill
+ *
+ * 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.
+ *
+ * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __SHLGUID_UNDOC_H
+#define __SHLGUID_UNDOC_H
 DEFINE_GUID(CLSID_RebarBandSite,         0xECD4FC4D, 0x521C, 0x11D0, 0xB7, 0x92, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1);
 DEFINE_GUID(CLSID_BandSiteMenu,          0xECD4FC4E, 0x521C, 0x11D0, 0xB7, 0x92, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1);
 DEFINE_GUID(IID_IBandSiteHelper,         0xD1E7AFEA, 0x6A2E, 0x11D0, 0x8C, 0x78, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xB4);
@@ -11,60 +31,74 @@ DEFINE_GUID(IID_IShellMenuAcc,           0xFAF6FE96, 0xCE5E, 0x11D1, 0x83, 0x71,
 DEFINE_GUID(IID_IShellBrowserService,    0x1307EE17, 0xEA83, 0x49EB, 0x96, 0xB2, 0x3A, 0x28, 0xE2, 0xD7, 0x04, 0x8A);
 //DEFINE_GUID(IID_IFolderView,             0xCDE725B0, 0xCCC9, 0x4519, 0x91, 0x7E, 0x32, 0x5D, 0x72, 0xFA, 0xB4, 0xCE);
 
-DEFINE_GUID(SID_SProxyBrowser,           0x20C46561, 0x8491, 0x11CF, 0x96, 0x0C, 0x00, 0x80, 0xC7, 0xF4, 0xEE, 0x85);
+DEFINE_GUID(SID_SProxyBrowser,             0x20C46561, 0x8491, 0x11CF, 0x96, 0x0C, 0x00, 0x80, 0xC7, 0xF4, 0xEE, 0x85);
 
 // this class lives in shell32.dll
-DEFINE_GUID(IID_IGlobalFolderSettings,   0xEF8AD2D3, 0xAE36, 0x11D1, 0xB2, 0xD2, 0x00, 0x60, 0x97, 0xDF, 0x8C, 0x11);
-DEFINE_GUID(CLSID_GlobalFolderSettings,  0xEF8AD2D1, 0xAE36, 0x11D1, 0xB2, 0xD2, 0x00, 0x60, 0x97, 0xDF, 0x8C, 0x11);
-DEFINE_GUID(IID_IRegTreeOptions,         0xAF4F6511, 0xF982, 0x11D0, 0x85, 0x95, 0x00, 0xAA, 0x00, 0x4C, 0xD6, 0xD8);
-DEFINE_GUID(CLSID_CRegTreeOptions,       0xAF4F6510, 0xF982, 0x11D0, 0x85, 0x95, 0x00, 0xAA, 0x00, 0x4C, 0xD6, 0xD8);
-DEFINE_GUID(IID_IExplorerToolbar,        0x8455F0C1, 0x158F, 0x11D0, 0x89, 0xAE, 0x00, 0xA0, 0xC9, 0x0A, 0x90, 0xAC);
+DEFINE_GUID(IID_IGlobalFolderSettings,     0xEF8AD2D3, 0xAE36, 0x11D1, 0xB2, 0xD2, 0x00, 0x60, 0x97, 0xDF, 0x8C, 0x11);
+DEFINE_GUID(CLSID_GlobalFolderSettings,    0xEF8AD2D1, 0xAE36, 0x11D1, 0xB2, 0xD2, 0x00, 0x60, 0x97, 0xDF, 0x8C, 0x11);
+DEFINE_GUID(IID_IRegTreeOptions,           0xAF4F6511, 0xF982, 0x11D0, 0x85, 0x95, 0x00, 0xAA, 0x00, 0x4C, 0xD6, 0xD8);
+DEFINE_GUID(CLSID_CRegTreeOptions,         0xAF4F6510, 0xF982, 0x11D0, 0x85, 0x95, 0x00, 0xAA, 0x00, 0x4C, 0xD6, 0xD8);
+DEFINE_GUID(IID_IExplorerToolbar,          0x8455F0C1, 0x158F, 0x11D0, 0x89, 0xAE, 0x00, 0xA0, 0xC9, 0x0A, 0x90, 0xAC);
 
 // not registered, lives in browseui.dll
-DEFINE_GUID(CLSID_BrowserBar,            0x9581015C, 0xD08E, 0x11D0, 0x8D, 0x36, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
+DEFINE_GUID(CLSID_BrowserBar,              0x9581015C, 0xD08E, 0x11D0, 0x8D, 0x36, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
 
-DEFINE_GUID(CGID_DefViewFrame,           0x710EB7A1, 0x45ED, 0x11D0, 0x92, 0x4A, 0x00, 0x20, 0xAF, 0xC7, 0xAC, 0x4D);
+DEFINE_GUID(CGID_DefViewFrame,             0x710EB7A1, 0x45ED, 0x11D0, 0x92, 0x4A, 0x00, 0x20, 0xAF, 0xC7, 0xAC, 0x4D);
 
 // browseui.dll
-DEFINE_GUID(CLSID_SH_AddressBand,        0x01E04581, 0x4EEE, 0x11D0, 0xBF, 0xE9, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
-DEFINE_GUID(CLSID_AddressEditBox,        0xA08C11D2, 0xA228, 0x11D0, 0x82, 0x5B, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
-DEFINE_GUID(IID_IAddressEditBox,         0xA08C11D1, 0xA228, 0x11D0, 0x82, 0x5B, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
-
-DEFINE_GUID(IID_IAddressBand,            0x106E86E1, 0x52B5, 0x11D0, 0xBF, 0xED, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
-DEFINE_GUID(CLSID_BrandBand,             0x22BF0C20, 0x6DA7, 0x11D0, 0xB3, 0x73, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0x38);
-DEFINE_GUID(SID_SBrandBand,              0x82A62DE8, 0x32AC, 0x4E4A, 0x99, 0x35, 0x90, 0x46, 0xC3, 0x78, 0xCF, 0x90);
-DEFINE_GUID(CLSID_InternetToolbar,       0x5E6AB780, 0x7743, 0x11CF, 0xA1, 0x2B, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);
-
-DEFINE_GUID(CGID_PrivCITCommands,        0x67077B95, 0x4F9D, 0x11D0, 0xB8, 0x84, 0x00, 0xAA, 0x00, 0xB6, 0x01, 0x04);
-DEFINE_GUID(CGID_Theater,                0x0F12079C, 0xC193, 0x11D0, 0x8D, 0x49, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0x61);
-DEFINE_GUID(CGID_ShellBrowser,           0x3531F060, 0x22B3, 0x11D0, 0x96, 0x9E, 0x00, 0xAA, 0x00, 0xB6, 0x01, 0x04);
-
-DEFINE_GUID(CLSID_SearchBand,            0x2559A1F0, 0x21D7, 0x11D4, 0xBD, 0xAF, 0x00, 0xC0, 0x4F, 0x60, 0xB9, 0xF0);
-DEFINE_GUID(CLSID_TipOfTheDayBand,       0x4D5C8C25, 0xD075, 0x11D0, 0xB4, 0x16, 0x00, 0xC0, 0x4F, 0xB9, 0x03, 0x76);
-DEFINE_GUID(CLSID_DiscussBand,           0xBDEADE7F, 0xC265, 0x11D0, 0xBC, 0xED, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x0F);
-DEFINE_GUID(CLSID_SH_FavBand,            0xEFA24E61, 0xB078, 0x11D0, 0x89, 0xE4, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
-DEFINE_GUID(CLSID_SH_HistBand,           0xEFA24E62, 0xB078, 0x11D0, 0x89, 0xE4, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
-DEFINE_GUID(CLSID_ExplorerBand,          0xEFA24E64, 0xB078, 0x11D0, 0x89, 0xE4, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
-DEFINE_GUID(CLSID_SH_SearchBand,         0x21569614, 0xB795, 0x46B1, 0x85, 0xF4, 0xE7, 0x37, 0xA8, 0xDC, 0x09, 0xAD);
-DEFINE_GUID(CLSID_FileSearchBand,        0xC4EE31F3, 0x4768, 0x11D2, 0x5C, 0xBE, 0x00, 0xA0, 0xC9, 0xA8, 0x3D, 0xA1);
+DEFINE_GUID(CLSID_SH_AddressBand,          0x01E04581, 0x4EEE, 0x11D0, 0xBF, 0xE9, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
+DEFINE_GUID(CLSID_AddressEditBox,          0xA08C11D2, 0xA228, 0x11D0, 0x82, 0x5B, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
+DEFINE_GUID(IID_IAddressEditBox,           0xA08C11D1, 0xA228, 0x11D0, 0x82, 0x5B, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
+
+DEFINE_GUID(IID_IAddressBand,              0x106E86E1, 0x52B5, 0x11D0, 0xBF, 0xED, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
+DEFINE_GUID(CLSID_BrandBand,               0x22BF0C20, 0x6DA7, 0x11D0, 0xB3, 0x73, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0x38);
+DEFINE_GUID(SID_SBrandBand,                0x82A62DE8, 0x32AC, 0x4E4A, 0x99, 0x35, 0x90, 0x46, 0xC3, 0x78, 0xCF, 0x90);
+DEFINE_GUID(CLSID_InternetToolbar,         0x5E6AB780, 0x7743, 0x11CF, 0xA1, 0x2B, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);
+
+DEFINE_GUID(CGID_PrivCITCommands,          0x67077B95, 0x4F9D, 0x11D0, 0xB8, 0x84, 0x00, 0xAA, 0x00, 0xB6, 0x01, 0x04);
+DEFINE_GUID(CGID_Theater,                  0x0F12079C, 0xC193, 0x11D0, 0x8D, 0x49, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0x61);
+DEFINE_GUID(CGID_ShellBrowser,             0x3531F060, 0x22B3, 0x11D0, 0x96, 0x9E, 0x00, 0xAA, 0x00, 0xB6, 0x01, 0x04);
+
+DEFINE_GUID(CLSID_SearchBand,              0x2559A1F0, 0x21D7, 0x11D4, 0xBD, 0xAF, 0x00, 0xC0, 0x4F, 0x60, 0xB9, 0xF0);
+DEFINE_GUID(CLSID_TipOfTheDayBand,         0x4D5C8C25, 0xD075, 0x11D0, 0xB4, 0x16, 0x00, 0xC0, 0x4F, 0xB9, 0x03, 0x76);
+DEFINE_GUID(CLSID_DiscussBand,             0xBDEADE7F, 0xC265, 0x11D0, 0xBC, 0xED, 0x00, 0xA0, 0xC9, 0x0A, 0xB5, 0x0F);
+DEFINE_GUID(CLSID_SH_FavBand,              0xEFA24E61, 0xB078, 0x11D0, 0x89, 0xE4, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
+DEFINE_GUID(CLSID_SH_HistBand,             0xEFA24E62, 0xB078, 0x11D0, 0x89, 0xE4, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
+DEFINE_GUID(CLSID_ExplorerBand,            0xEFA24E64, 0xB078, 0x11D0, 0x89, 0xE4, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
+DEFINE_GUID(CLSID_SH_SearchBand,           0x21569614, 0xB795, 0x46B1, 0x85, 0xF4, 0xE7, 0x37, 0xA8, 0xDC, 0x09, 0xAD);
+DEFINE_GUID(CLSID_FileSearchBand,          0xC4EE31F3, 0x4768, 0x11D2, 0x5C, 0xBE, 0x00, 0xA0, 0xC9, 0xA8, 0x3D, 0xA1);
 // missing ResearchBand
 
-DEFINE_GUID(IID_IBandNavigate,           0x3697C30B, 0xCD88, 0x11D0, 0x8A, 0x3E, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
-DEFINE_GUID(IID_INamespaceProxy,         0xCF1609EC, 0xFA4B, 0x4818, 0xAB, 0x01, 0x55, 0x64, 0x33, 0x67, 0xE6, 0x6D);
-DEFINE_GUID(IID_IBandProxy,              0x208CE801, 0x754B, 0x11D0, 0x80, 0xCA, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
-DEFINE_GUID(CLSID_BandProxy,             0xF61FFEC1, 0x754F, 0x11D0, 0x80, 0xCA, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
-DEFINE_GUID(SID_IBandProxy,              0x80243AC1, 0x0569, 0x11D1, 0xA7, 0xAE, 0x00, 0x60, 0x97, 0xDF, 0x5B, 0xD4);
-DEFINE_GUID(CLSID_ShellSearchExt,        0x169A0691, 0x8DF9, 0x11D1, 0xA1, 0xC4, 0x00, 0xC0, 0x4F, 0xD7, 0x5D, 0x13);
+DEFINE_GUID(IID_IBandNavigate,             0x3697C30B, 0xCD88, 0x11D0, 0x8A, 0x3E, 0x00, 0xC0, 0x4F, 0xC9, 0xE2, 0x6E);
+DEFINE_GUID(IID_INamespaceProxy,           0xCF1609EC, 0xFA4B, 0x4818, 0xAB, 0x01, 0x55, 0x64, 0x33, 0x67, 0xE6, 0x6D);
+DEFINE_GUID(IID_IBandProxy,                0x208CE801, 0x754B, 0x11D0, 0x80, 0xCA, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
+DEFINE_GUID(CLSID_BandProxy,               0xF61FFEC1, 0x754F, 0x11D0, 0x80, 0xCA, 0x00, 0xAA, 0x00, 0x5B, 0x43, 0x83);
+DEFINE_GUID(SID_IBandProxy,                0x80243AC1, 0x0569, 0x11D1, 0xA7, 0xAE, 0x00, 0x60, 0x97, 0xDF, 0x5B, 0xD4);
+DEFINE_GUID(CLSID_ShellSearchExt,          0x169A0691, 0x8DF9, 0x11D1, 0xA1, 0xC4, 0x00, 0xC0, 0x4F, 0xD7, 0x5D, 0x13);
+
+DEFINE_GUID(CLSID_CommonButtons,           0x1E79697E, 0x9CC5, 0x11D1, 0xA8, 0x3F, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0x61);
+
+DEFINE_GUID(CGID_BrandCmdGroup,            0x25019D8C, 0x9EE0, 0x45C0, 0x88, 0x3B, 0x97, 0x2D, 0x48, 0x32, 0x5E, 0x18);
+
+DEFINE_GUID(IID_INSCTree,                  0x43A8F463, 0x4222, 0x11D2, 0xB6, 0x41, 0x00, 0x60, 0x97, 0xDF, 0x5B, 0xD4);
+DEFINE_GUID(IID_INSCTree2,                 0x801C1AD5, 0xC47C, 0x428C, 0x97, 0xAF, 0xE9, 0x91, 0xE4, 0x85, 0x7D, 0x97);
+
+DEFINE_GUID(IID_IInitializeObject,         0x4622AD16, 0xFF23, 0x11D0, 0x8D, 0x34, 0x00, 0xA0, 0xC9, 0x0F, 0x27, 0x19);
+DEFINE_GUID(IID_IBanneredBar,              0x596A9A94, 0x013E, 0x11D1, 0x8D, 0x34, 0x00, 0xA0, 0xC9, 0x0F, 0x27, 0x19);
 
-DEFINE_GUID(CLSID_CommonButtons,         0x1E79697E, 0x9CC5, 0x11D1, 0xA8, 0x3F, 0x00, 0xC0, 0x4F, 0xC9, 0x9D, 0x61);
+DEFINE_GUID(CLSID_StartMenu,               0x4622AD11, 0xFF23, 0x11D0, 0x8D, 0x34, 0x00, 0xA0, 0xC9, 0x0F, 0x27, 0x19);
+DEFINE_GUID(CLSID_MenuBandSite,            0xE13EF4E4, 0xD2F2, 0x11D0, 0x98, 0x16, 0x00, 0xC0, 0x4F, 0xD9, 0x19, 0x72);
+DEFINE_GUID(SHELL32_AdvtShortcutProduct,   0x9DB1186F, 0x40DF, 0x11D1, 0xAA, 0x8C, 0x00, 0xC0, 0x4F, 0xB6, 0x78, 0x63);
+DEFINE_GUID(SHELL32_AdvtShortcutComponent, 0x9DB1186E, 0x40DF, 0x11D1, 0xAA, 0x8C, 0x00, 0xC0, 0x4F, 0xB6, 0x78, 0x63);
+DEFINE_GUID(CLSID_OpenWithMenu,            0x09799AFB, 0xAD67, 0x11D1, 0xAB, 0xCD, 0x00, 0xC0, 0x4F, 0xC3, 0x09, 0x36);
 
-DEFINE_GUID(CGID_BrandCmdGroup,          0x25019D8C, 0x9EE0, 0x45C0, 0x88, 0x3B, 0x97, 0x2D, 0x48, 0x32, 0x5E, 0x18);
+DEFINE_GUID(CLSID_FontsFolderShortcut,     0xD20EA4E1, 0x3957, 0x11D2, 0xA4, 0x0B, 0x0C, 0x50, 0x20, 0x52, 0x41, 0x52);
+DEFINE_GUID(CLSID_AdminFolderShortcut,     0xD20EA4E1, 0x3957, 0x11D2, 0xA4, 0x0B, 0x0C, 0x50, 0x20, 0x52, 0x41, 0x53);
 
-DEFINE_GUID(IID_INSCTree,                0x43A8F463, 0x4222, 0x11D2, 0xB6, 0x41, 0x00, 0x60, 0x97, 0xDF, 0x5B, 0xD4);
-DEFINE_GUID(IID_INSCTree2,               0x801C1AD5, 0xC47C, 0x428C, 0x97, 0xAF, 0xE9, 0x91, 0xE4, 0x85, 0x7D, 0x97);
+DEFINE_GUID(CLSID_FolderOptions,           0x6DFD7C5C, 0x2451, 0x11D3, 0xA2, 0x99, 0x00, 0xC0, 0x4F, 0x8E, 0xF6, 0xAF);
 
-DEFINE_GUID(IID_IInitializeObject,       0x4622AD16, 0xFF23, 0x11D0, 0x8D, 0x34, 0x00, 0xA0, 0xC9, 0x0F, 0x27, 0x19);
-DEFINE_GUID(IID_IBanneredBar,            0x596A9A94, 0x013E, 0x11D1, 0x8D, 0x34, 0x00, 0xA0, 0xC9, 0x0F, 0x27, 0x19);
+// In theory, this is documented. But until I see an SDK header that defines it, it will be treated as undocumented...
+DEFINE_GUID(CLSID_ShellItem,               0x2fe352ea, 0xfd1f, 0x11d2, 0xb1, 0xf4, 0x00, 0xc0, 0x4f, 0x8e, 0xeb, 0x3e);
 
 #define CGID_IExplorerToolbar IID_IExplorerToolbar
 #define SID_IExplorerToolbar IID_IExplorerToolbar
@@ -74,4 +108,7 @@ DEFINE_GUID(IID_IBanneredBar,            0x596A9A94, 0x013E, 0x11D1, 0x8D, 0x34,
 #define CGID_MenuBand CLSID_MenuBand
 #define SID_STravelLogCursor IID_ITravelLogStg 
 #define SID_IBandSite IID_IBandSite 
+#define SID_IFolderView IID_IFolderView
+#define SID_IShellBrowser IID_IShellBrowser
 
+#endif // __SHLGUID_UNDOC_H
index 57497f0..881408b 100644 (file)
@@ -97,6 +97,7 @@ DWORD        WINAPI SHFormatDrive(HWND,UINT,UINT,UINT);
 void         WINAPI SHFree(LPVOID);
 BOOL         WINAPI GetFileNameFromBrowse(HWND,LPWSTR,UINT,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
 HRESULT      WINAPI SHGetInstanceExplorer(IUnknown**);
+VOID         WINAPI SHSetInstanceExplorer (IUnknown*);
 HRESULT      WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
 HRESULT      WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
 #define             SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir);
@@ -1458,7 +1459,7 @@ typedef struct _SHChangeProductKeyAsIDList {
 } SHChangeProductKeyAsIDList, *LPSHChangeProductKeyAsIDList;
 
 ULONG WINAPI SHChangeNotifyRegister(HWND hwnd, int fSources, LONG fEvents, UINT wMsg,
-                                    int cEntries, const SHChangeNotifyEntry *pshcne);
+                                    int cEntries, SHChangeNotifyEntry *pshcne);
 BOOL WINAPI SHChangeNotifyDeregister(ULONG ulID);
 HANDLE WINAPI SHChangeNotification_Lock(HANDLE hChangeNotification, DWORD dwProcessId,
                                         LPITEMIDLIST **pppidl, LONG *plEvent);
@@ -1469,7 +1470,7 @@ HRESULT WINAPI SHGetRealIDL(IShellFolder *psf, LPCITEMIDLIST pidlSimple, LPITEMI
 /****************************************************************************
 * SHCreateDirectory API
 */
-DWORD WINAPI SHCreateDirectory(HWND, LPCWSTR);
+int WINAPI SHCreateDirectory(HWND, LPCWSTR);
 int WINAPI SHCreateDirectoryExA(HWND, LPCSTR, LPSECURITY_ATTRIBUTES);
 int WINAPI SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES);
 #define    SHCreateDirectoryEx WINELIB_NAME_AW(SHCreateDirectoryEx)
@@ -1738,7 +1739,7 @@ HRESULT      WINAPI ILSaveToStream(LPSTREAM,LPCITEMIDLIST);
 #define MM_SUBMENUSHAVEIDS      0x00000002L
 #define MM_DONTREMOVESEPS       0x00000004L
 
-HRESULT WINAPI Shell_MergeMenus (HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags);
+UINT WINAPI Shell_MergeMenus (HMENU hmDst, HMENU hmSrc, UINT uInsert, UINT uIDAdjust, UINT uIDAdjustMax, ULONG uFlags);
 
 
 /****************************************************************************
@@ -1835,6 +1836,17 @@ DECLARE_INTERFACE_(IShellIconOverlayIdentifier, IUnknown)
     STDMETHOD (GetPriority)(THIS_ int * pIPriority) PURE;
 };
 
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IShellIconOverlayIdentifier_QueryInterface(p,a,b)         (p)->lpVtbl->QueryInterface(p,a,b)
+#define IShellIconOverlayIdentifier_AddRef(p)                     (p)->lpVtbl->AddRef(p)
+#define IShellIconOverlayIdentifier_Release(p)                    (p)->lpVtbl->Release(p)
+/*** IShellIconOverlayIdentifier methods ***/
+#define IShellIconOverlayIdentifier_IsMemberOf(p,a,b)             (p)->lpVtbl->IsMemberOf(p,a,b)
+#define IShellIconOverlayIdentifier_GetOverlayInfo(p,a,b,c,d)     (p)->lpVtbl->GetOverlayInfo(p,a,b,c,d)
+#define IShellIconOverlayIdentifier_GetPriority(p,a)              (p)->lpVtbl->GetPriority(p,a)
+#endif
+
 #define ISIOI_ICONFILE  0x00000001
 #define ISIOI_ICONINDEX 0x00000002
 
@@ -1856,12 +1868,12 @@ DECLARE_INTERFACE_(IShellIconOverlayIdentifier, IUnknown)
 /*****************************************************************************
  * IDockingWindowSite interface
  */
-#define INTERFACE   IDockingWindowSite
+#define INTERFACE IDockingWindowSite
 DECLARE_INTERFACE_(IDockingWindowSite, IOleWindow)
 {
     // *** IUnknown methods ***
     STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppv) PURE;
-    STDMETHOD_(ULONG,AddRef)(THIS)  PURE;
+    STDMETHOD_(ULONG,AddRef)(THIS) PURE;
     STDMETHOD_(ULONG,Release)(THIS) PURE;
 
     // *** IOleWindow methods ***
@@ -1875,6 +1887,60 @@ DECLARE_INTERFACE_(IDockingWindowSite, IOleWindow)
 };
 #undef INTERFACE
 
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IDockingWindowSite_QueryInterface(p,a,b)         (p)->lpVtbl->QueryInterface(p,a,b)
+#define IDockingWindowSite_AddRef(p)                     (p)->lpVtbl->AddRef(p)
+#define IDockingWindowSite_Release(p)                    (p)->lpVtbl->Release(p)
+/*** IOleWindow methods ***/
+#define IDockingWindowSite_GetWindow(p,a)                (p)->lpVtbl->GetWindow(p,a)
+#define IDockingWindowSite_ContextSensitiveHelp(p,a)     (p)->lpVtbl->ContextSensitiveHelp(p,a)
+/*** IDockingWindowSite methods ***/
+#define IDockingWindowSite_GetBorderDW(p,a,b)            (p)->lpVtbl->GetBorderDW(p,a,b)
+#define IDockingWindowSite_RequestBorderSpaceDW(p,a,b)   (p)->lpVtbl->RequestBorderSpaceDW(p,a,b)
+#define IDockingWindowSite_SetBorderSpaceDW(p,a,b)       (p)->lpVtbl->SetBorderSpaceDW(p,a,b)
+#endif
+
+/*****************************************************************************
+ * IShellTaskScheduler interface
+ */
+#define REFTASKOWNERID REFGUID
+
+#define INTERFACE IShellTaskScheduler
+DECLARE_INTERFACE_(IShellTaskScheduler, IUnknown)
+{
+    // *** IUnknown methods ***
+    STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppv) PURE;
+    STDMETHOD_(ULONG, AddRef)(THIS) PURE;
+    STDMETHOD_(ULONG, Release)(THIS) PURE;
+
+    // *** IShellTaskScheduler methods ***
+    STDMETHOD(AddTask)(THIS_ IRunnableTask *pTask, REFTASKOWNERID rtoid, DWORD_PTR lParam, DWORD dwPriority) PURE;
+    STDMETHOD(RemoveTasks)(THIS_ REFTASKOWNERID rtoid, DWORD_PTR lParam, BOOL fWaitIfRunning) PURE;
+    STDMETHOD_(UINT, CountTasks)(THIS_ REFTASKOWNERID rtoid) PURE;
+    STDMETHOD(Status)(THIS_ DWORD dwReleaseStatus, DWORD dwThreadTimeout) PURE;
+};
+#undef INTERFACE
+
+#if !defined(__cplusplus) || defined(CINTERFACE)
+/*** IUnknown methods ***/
+#define IShellTaskScheduler_QueryInterface(p,a,b)  (p)->lpVtbl->QueryInterface(p,a,b)
+#define IShellTaskScheduler_AddRef(p)              (p)->lpVtbl->AddRef(p)
+#define IShellTaskScheduler_Release(p)             (p)->lpVtbl->Release(p)
+/*** IShellTaskScheduler methods ***/
+#define IShellTaskScheduler_AddTask(p,a,b,c,d)     (p)->lpVtbl->AddTask(p,a,b,c,d)
+#define IShellTaskScheduler_RemoveTasks(p,a,b,c)   (p)->lpVtbl->RemoveTasks(p,a,b,c)
+#define IShellTaskScheduler_CountTasks(p,a)        (p)->lpVtbl->CountTasks(p,a)
+#define IShellTaskScheduler_Status(p,a,b)          (p)->lpVtbl->Status(p,a,b)
+#endif
+
+typedef void (CALLBACK *PFNASYNCICONTASKBALLBACK)(LPCITEMIDLIST pidl, LPVOID pvData, LPVOID pvHint, INT iIconIndex, INT iOpenIconIndex);
+
+/*****************************************************************************
+ * Control Panel functions
+ */
+LRESULT WINAPI CallCPLEntry16(HINSTANCE hMod, FARPROC pFunc, HWND dw3, UINT dw4, LPARAM dw5, LPARAM dw6);
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif /* defined(__cplusplus) */
index ef475f0..940d279 100644 (file)
@@ -777,6 +777,7 @@ typedef struct tagCREATEMRULISTW
     PROC lpfnCompare;
 } CREATEMRULISTW, *LPCREATEMRULISTW;
 
+#define MRU_STRING  0x0
 #define MRU_BINARY  0x1
 #define MRU_CACHEWRITE  0x2
 
@@ -786,6 +787,20 @@ INT WINAPI AddMRUData(HANDLE,LPCVOID,DWORD);
 INT WINAPI FindMRUData(HANDLE,LPCVOID,DWORD,LPINT);
 VOID WINAPI FreeMRUList(HANDLE);
 
+INT WINAPI AddMRUStringW(HANDLE hList, LPCWSTR lpszString);
+INT WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString);
+BOOL WINAPI DelMRUString(HANDLE hList, INT nItemPos);
+INT WINAPI FindMRUStringW(HANDLE hList, LPCWSTR lpszString, LPINT lpRegNum);
+INT WINAPI FindMRUStringA(HANDLE hList, LPCSTR lpszString, LPINT lpRegNum);
+HANDLE WINAPI CreateMRUListLazyW(const CREATEMRULISTW *lpcml, DWORD dwParam2,
+                                  DWORD dwParam3, DWORD dwParam4);
+HANDLE WINAPI CreateMRUListLazyA(const CREATEMRULISTA *lpcml, DWORD dwParam2,
+                                  DWORD dwParam3, DWORD dwParam4);
+INT WINAPI EnumMRUListW(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
+                         DWORD nBufferSize);
+INT WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer,
+                         DWORD nBufferSize);
+
 #define DC_NOSENDMSG 0x2000
 BOOL WINAPI DrawCaptionTempA(HWND,HDC,const RECT*,HFONT,HICON,LPCSTR,UINT);
 BOOL WINAPI DrawCaptionTempW(HWND,HDC,const RECT*,HFONT,HICON,LPCWSTR,UINT);
index bec8b3a..0d2733a 100644 (file)
@@ -319,12 +319,6 @@ BOOL WINAPI AssocIsDangerous(LPCWSTR);
 
 #endif /* NO_SHLWAPI_REG */
 
-void WINAPI IUnknown_Set(IUnknown **ppunk, IUnknown *punk);
-void WINAPI IUnknown_AtomicRelease(IUnknown **punk);
-HRESULT WINAPI IUnknown_GetWindow(IUnknown *punk, HWND *phwnd);
-HRESULT WINAPI IUnknown_SetSite(IUnknown *punk, IUnknown *punkSite);
-HRESULT WINAPI IUnknown_GetSite(IUnknown *punk, REFIID riid, void **ppv);
-HRESULT WINAPI IUnknown_QueryService(IUnknown *punk, REFGUID guidService, REFIID riid, void **ppvOut);
 
 /* Path functions */
 #ifndef NO_SHLWAPI_PATH
@@ -585,11 +579,6 @@ typedef enum {
     URL_SCHEME_MSSHELLROOTED,
     URL_SCHEME_MSSHELLIDLIST,
     URL_SCHEME_MSHELP,
-    URL_SCHEME_MSSHELLDEVICE,
-    URL_SCHEME_WILDCARD,
-    URL_SCHEME_SEARCH_MS,
-    URL_SCHEME_SEARCH,
-    URL_SCHEME_KNOWNFOLDER,
     URL_SCHEME_MAXVALUE
 } URL_SCHEME;
 
@@ -654,7 +643,7 @@ HRESULT WINAPI UrlApplySchemeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
 
 HRESULT WINAPI UrlCanonicalizeA(LPCSTR,LPSTR,LPDWORD,DWORD);
 HRESULT WINAPI UrlCanonicalizeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
-#define UrlCanonicalize WINELIB_NAME_AW(UrlCanonicalize)
+#define UrlCanonicalize WINELIB_NAME_AW(UrlCanoncalize)
 
 HRESULT WINAPI UrlCombineA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD);
 HRESULT WINAPI UrlCombineW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD);
@@ -881,9 +870,6 @@ LPSTR  WINAPI StrStrIA(LPCSTR,LPCSTR);
 LPWSTR WINAPI StrStrIW(LPCWSTR,LPCWSTR);
 #define StrStrI WINELIB_NAME_AW(StrStrI)
 
-LPWSTR WINAPI StrStrNW(LPCWSTR,LPCWSTR,UINT);
-LPWSTR WINAPI StrStrNIW(LPCWSTR,LPCWSTR,UINT);
-
 int WINAPI StrToIntA(LPCSTR);
 int WINAPI StrToIntW(LPCWSTR);
 #define StrToInt WINELIB_NAME_AW(StrToInt)
@@ -988,7 +974,6 @@ HRESULT WINAPI SHCreateStreamWrapper(LPBYTE,DWORD,DWORD,struct IStream**);
 HRESULT WINAPI SHAutoComplete(HWND,DWORD);
 
 /* Threads */
-HRESULT WINAPI SHCreateThreadRef(LONG*, IUnknown**);
 HRESULT WINAPI SHGetThreadRef(IUnknown**);
 HRESULT WINAPI SHSetThreadRef(IUnknown*);
 HRESULT WINAPI SHReleaseThreadRef(void);
@@ -1043,6 +1028,24 @@ typedef struct _DLLVERSIONINFO2 {
 HRESULT WINAPI DllInstall(BOOL,LPCWSTR) DECLSPEC_HIDDEN;
 
 
+#if (_WIN32_IE >= 0x0600)
+#define SHGVSPB_PERUSER        0x00000001
+#define SHGVSPB_ALLUSERS       0x00000002
+#define SHGVSPB_PERFOLDER      0x00000004
+#define SHGVSPB_ALLFOLDERS     0x00000008
+#define SHGVSPB_INHERIT        0x00000010
+#define SHGVSPB_ROAM           0x00000020
+#define SHGVSPB_NOAUTODEFAULTS 0x80000000
+
+#define SHGVSPB_FOLDER           (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER)
+#define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS)
+#define SHGVSPB_USERDEFAULTS     (SHGVSPB_PERUSER | SHGVSPB_ALLFOLDERS)
+#define SHGVSPB_GLOBALDEAFAULTS  (SHGVSPB_ALLUSERS | SHGVSPB_ALLFOLDERS)
+
+HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST pidl, LPWSTR bag_name, DWORD flags, REFIID riid, void **ppv);
+#endif  /* (_WIN32_IE >= 0x0600) */
+
+
 /* IsOS definitions */
 
 #define OS_WIN32SORGREATER        0x00
@@ -1109,6 +1112,11 @@ typedef struct
 
 HRESULT WINAPI QISearch(void* base, const QITAB *pqit, REFIID riid, void **ppv);
 
+HANDLE WINAPI SHAllocShared(LPVOID pv, ULONG cb, DWORD pid);
+BOOL WINAPI SHFreeShared(HANDLE hMem, DWORD pid);
+LPVOID WINAPI SHLockShared(HANDLE hMem, DWORD pid);
+BOOL WINAPI SHUnlockShared(LPVOID pv);
+
 #include <poppack.h> 
 
 #ifdef __cplusplus
index 41f60a1..a00cd01 100644 (file)
@@ -45,9 +45,46 @@ struct IEThreadParamBlock
        long                                                    filler4;                // unknown contents
 };
 
+BOOL WINAPI SHAboutInfoA(LPSTR lpszDest, DWORD dwDestLen);
+BOOL WINAPI SHAboutInfoW(LPWSTR lpszDest, DWORD dwDestLen);
+HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT* pCmdText);
+HRESULT WINAPI IUnknown_Exec(IUnknown* lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT* pvaIn, VARIANT* pvaOut);
+LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT wMask, UINT wFlags);
+HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent);
+HRESULT WINAPI ConnectToConnectionPoint(IUnknown *lpUnkSink, REFIID riid, BOOL bAdviseOnly, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP);
+DWORD WINAPI IUnknown_AtomicRelease(IUnknown **lpUnknown);
+BOOL WINAPI SHIsSameObject(IUnknown *lpInt1, IUnknown *lpInt2);
+HRESULT WINAPI IUnknown_GetWindow(IUnknown *lpUnknown, HWND *lphWnd);
+HRESULT WINAPI IUnknown_SetOwner(IUnknown *pUnk, ULONG arg);
+HRESULT WINAPI IUnknown_SetSite(IUnknown *obj, IUnknown *site);
+HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *lpClassId);
+HRESULT WINAPI IUnknown_QueryService(IUnknown* lpUnknown, REFGUID sid, REFIID riid, LPVOID *lppOut);
+HRESULT WINAPI IUnknown_UIActivateIO(IUnknown *unknown, BOOL activate, LPMSG msg);
+BOOL WINAPI SHLoadMenuPopup(HINSTANCE hInst, LPCWSTR szName);
+void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend);
+DWORD WINAPI SHRemoveAllSubMenus(HMENU hMenu);
+UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable);
+DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck);
+DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass);
+BOOL WINAPI SHSimulateDrop(IDropTarget *pDrop, IDataObject *pDataObj, DWORD grfKeyState, PPOINTL lpPt, DWORD* pdwEffect);
+HRESULT WINAPI IUnknown_TranslateAcceleratorOCS(IUnknown *lpUnknown, LPMSG lpMsg, DWORD dwModifiers);
+HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus);
+HRESULT WINAPI IUnknown_HandleIRestrict(LPUNKNOWN lpUnknown, PVOID lpArg1, PVOID lpArg2, PVOID lpArg3, PVOID lpArg4);
+HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID);
+DWORD WINAPI SHGetCurColorRes();
+DWORD WINAPI SHWaitForSendMessageThread(HANDLE hand, DWORD dwTimeout);
+HRESULT WINAPI SHIsExpandableFolder(LPSHELLFOLDER lpFolder, LPCITEMIDLIST pidl);
+DWORD WINAPI SHFillRectClr(HDC hDC, LPCRECT pRect, COLORREF cRef);
+int WINAPI SHSearchMapInt(const int *lpKeys, const int *lpValues, int iLen, int iKey);
+VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown);
+HRESULT WINAPI MayQSForward(IUnknown* lpUnknown, PVOID lpReserved, REFGUID riidCmdGrp, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText);
+HRESULT WINAPI MayExecForward(IUnknown* lpUnknown, INT iUnk, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
+HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup,ULONG cCmds, OLECMD *prgCmds);
+BOOL WINAPI SHIsChildOrSelf(HWND hParent, HWND hChild);
+
 void WINAPI InitOCHostClass(long param8);
 long WINAPI SHOpenFolderWindow(IEThreadParamBlock *param8);
-void WINAPI SHCreateSavedWindows(void);
+void WINAPI SHCreateSavedWindows();
 long WINAPI SHCreateFromDesktop(long param8);
 long WINAPI SHExplorerParseCmdLine(LPCTSTR commandLine);
 void WINAPI UEMRegisterNotify(long param8, long paramC);
@@ -59,11 +96,11 @@ IEThreadParamBlock *WINAPI SHCloneIETHREADPARAM(IEThreadParamBlock *param);
 long WINAPI SHParseIECommandLine(long param8, long paramC);
 void WINAPI SHDestroyIETHREADPARAM(IEThreadParamBlock *param);
 HRESULT WINAPI SHOnCWMCommandLine(long param8);
-LPITEMIDLIST WINAPI Channel_GetFolderPidl(void);
+LPITEMIDLIST WINAPI Channel_GetFolderPidl();
 IUnknown *WINAPI ChannelBand_Create(LPITEMIDLIST pidl);
 HRESULT WINAPI Channels_SetBandInfoSFB(IUnknown *param8);
 HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC);
-HRESULT WINAPI Channel_QuickLaunch(void);
+HRESULT WINAPI Channel_QuickLaunch();
 HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long param10, long param14);
 HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax);
 HRESULT WINAPI SHEnumClassesOfCategories(long param8, long paramC, long param10, long param14, long param18);
index a4b5f51..f55a4b2 100644 (file)
 #define _WIN32_IE 0x0501
 #endif
 
-#include <psdk/commctrl.h>
+#include_next <commctrl.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 #undef DPA_GetPtr
 LPVOID WINAPI DPA_GetPtr(HDPA, INT);
@@ -69,4 +73,8 @@ typedef struct
 #define TB_UNKWN45D              (WM_USER+93)
 #define TB_UNKWN464              (WM_USER+100)
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _INC_COMMCTRL_WINE */