3 * Copyright 2012, 2013 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
33 #define DEFINE_SHLGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
34 #define SID_SShellBrowser IID_IShellBrowser
35 extern const GUID CLSID_ShellDesktop;
36 extern const GUID CLSID_ShellLink;
37 extern const GUID FMTID_Intshcut;
38 extern const GUID FMTID_InternetSite;
39 extern const GUID CGID_Explorer;
40 extern const GUID CGID_ShellDocView;
41 extern const GUID CGID_ShellServiceObject;
42 extern const GUID IID_INewShortcutHookA;
43 extern const GUID IID_IShellBrowser;
44 extern const GUID IID_IShellView;
45 extern const GUID IID_IContextMenu;
46 extern const GUID IID_IColumnProvider;
47 extern const GUID IID_IQueryInfo;
48 extern const GUID IID_IShellIcon;
49 extern const GUID IID_IShellIconOverlayIdentifier;
50 extern const GUID IID_IShellFolder;
51 extern const GUID IID_IShellExtInit;
52 extern const GUID IID_IShellPropSheetExt;
53 extern const GUID IID_IPersistFolder;
54 extern const GUID IID_IExtractIconA;
55 extern const GUID IID_IShellLinkA;
56 extern const GUID IID_IShellCopyHookA;
57 extern const GUID IID_IFileViewerA;
58 extern const GUID IID_ICommDlgBrowser;
59 extern const GUID IID_IEnumIDList;
60 extern const GUID IID_IFileViewerSite;
61 extern const GUID IID_IContextMenu2;
62 extern const GUID IID_IContextMenu3;
63 extern const GUID IID_IShellExecuteHookA;
64 extern const GUID IID_IPropSheetPage;
65 extern const GUID IID_INewShortcutHookW;
66 extern const GUID IID_IFileViewerW;
67 extern const GUID IID_IShellLinkW;
68 extern const GUID IID_IExtractIconW;
69 extern const GUID IID_IShellExecuteHookW;
70 extern const GUID IID_IShellCopyHookW;
71 extern const GUID IID_IShellView2;
72 extern const GUID LIBID_SHDocVw;
73 extern const GUID IID_IShellExplorer;
74 extern const GUID DIID_DShellExplorerEvents;
75 extern const GUID CLSID_ShellExplorer;
76 extern const GUID IID_ISHItemOC;
77 extern const GUID DIID_DSHItemOCEvents;
78 extern const GUID CLSID_SHItemOC;
79 extern const GUID IID_DHyperLink;
80 extern const GUID IID_DIExplorer;
81 extern const GUID DIID_DExplorerEvents;
82 extern const GUID CLSID_InternetExplorer;
83 extern const GUID CLSID_StdHyperLink;
84 extern const GUID CLSID_FileTypes;
85 extern const GUID CLSID_InternetShortcut;
86 extern const GUID IID_IUniformResourceLocator;
87 extern const GUID CLSID_DragDropHelper;
88 extern const GUID IID_IDropTargetHelper;
89 extern const GUID IID_IDragSourceHelper;
90 extern const GUID CLSID_AutoComplete;
91 extern const GUID IID_IAutoComplete;
92 extern const GUID IID_IAutoComplete2;
93 extern const GUID CLSID_ACLMulti;
94 extern const GUID IID_IObjMgr;
95 extern const GUID CLSID_ACListISF;
96 extern const GUID IID_IACList;
98 #define IID_IFileViewer __AW(IID_IFileViewer)
99 #define IID_IShellLink __AW(IID_IShellLink)
100 #define IID_IExtractIcon __AW(IID_IExtractIcon)
101 #define IID_IShellCopyHook __AW(IID_IShellCopyHook)
102 #define IID_IShellExecuteHook __AW(IID_IShellExecuteHook)
103 #define IID_INewShortcutHook __AW(IID_INewShortcutHook)
105 #if (_WIN32_IE >= 0x400 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K)
106 extern const GUID IID_IPersistFolder2;
109 #if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K)
110 extern const GUID IID_IPersistFolder3;
111 extern const GUID IID_IShellFolder2;
112 extern const GUID IID_IFileSystemBindData;
115 #if (_WIN32_WINNT >= _WIN32_WINNT_WINXP)
116 extern const GUID IID_IFolderView;