3 * @copy 2012 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
31 #define DEFINE_SHLGUID(n,l,w1,w2) DEFINE_GUID(n,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
32 #define SID_SShellBrowser IID_IShellBrowser
33 extern const GUID CLSID_ShellDesktop;
34 extern const GUID CLSID_ShellLink;
35 extern const GUID FMTID_Intshcut;
36 extern const GUID FMTID_InternetSite;
37 extern const GUID CGID_Explorer;
38 extern const GUID CGID_ShellDocView;
39 extern const GUID CGID_ShellServiceObject;
40 extern const GUID IID_INewShortcutHookA;
41 extern const GUID IID_IShellBrowser;
42 extern const GUID IID_IShellView;
43 extern const GUID IID_IContextMenu;
44 extern const GUID IID_IColumnProvider;
45 extern const GUID IID_IQueryInfo;
46 extern const GUID IID_IShellIcon;
47 extern const GUID IID_IShellIconOverlayIdentifier;
48 extern const GUID IID_IShellFolder;
49 extern const GUID IID_IShellExtInit;
50 extern const GUID IID_IShellPropSheetExt;
51 extern const GUID IID_IPersistFolder;
52 extern const GUID IID_IExtractIconA;
53 extern const GUID IID_IShellLinkA;
54 extern const GUID IID_IShellCopyHookA;
55 extern const GUID IID_IFileViewerA;
56 extern const GUID IID_ICommDlgBrowser;
57 extern const GUID IID_IEnumIDList;
58 extern const GUID IID_IFileViewerSite;
59 extern const GUID IID_IContextMenu2;
60 extern const GUID IID_IContextMenu3;
61 extern const GUID IID_IShellExecuteHookA;
62 extern const GUID IID_IPropSheetPage;
63 extern const GUID IID_INewShortcutHookW;
64 extern const GUID IID_IFileViewerW;
65 extern const GUID IID_IShellLinkW;
66 extern const GUID IID_IExtractIconW;
67 extern const GUID IID_IShellExecuteHookW;
68 extern const GUID IID_IShellCopyHookW;
69 extern const GUID IID_IShellView2;
70 extern const GUID LIBID_SHDocVw;
71 extern const GUID IID_IShellExplorer;
72 extern const GUID DIID_DShellExplorerEvents;
73 extern const GUID CLSID_ShellExplorer;
74 extern const GUID IID_ISHItemOC;
75 extern const GUID DIID_DSHItemOCEvents;
76 extern const GUID CLSID_SHItemOC;
77 extern const GUID IID_DHyperLink;
78 extern const GUID IID_DIExplorer;
79 extern const GUID DIID_DExplorerEvents;
80 extern const GUID CLSID_InternetExplorer;
81 extern const GUID CLSID_StdHyperLink;
82 extern const GUID CLSID_FileTypes;
83 extern const GUID CLSID_InternetShortcut;
84 extern const GUID IID_IUniformResourceLocator;
85 extern const GUID CLSID_DragDropHelper;
86 extern const GUID IID_IDropTargetHelper;
87 extern const GUID IID_IDragSourceHelper;
88 extern const GUID CLSID_AutoComplete;
89 extern const GUID IID_IAutoComplete;
90 extern const GUID IID_IAutoComplete2;
91 extern const GUID CLSID_ACLMulti;
92 extern const GUID IID_IObjMgr;
93 extern const GUID CLSID_ACListISF;
94 extern const GUID IID_IACList;
95 #if (_WIN32_IE >= 0x400 || _WIN32_WINNT >= 0x500)
96 extern const GUID IID_IPersistFolder2;
98 #if (_WIN32_WINNT >= 0x500)
99 extern const GUID IID_IPersistFolder3;
100 extern const GUID IID_IShellFolder2;
101 extern const GUID IID_IFileSystemBindData;
103 #if (_WIN32_WINNT >= 0x501)
104 extern const GUID IID_IFolderView;
107 #define IID_IFileViewer IID_IFileViewerW
108 #define IID_IShellLink IID_IShellLinkW
109 #define IID_IExtractIcon IID_IExtractIconW
110 #define IID_IShellCopyHook IID_IShellCopyHookW
111 #define IID_IShellExecuteHook IID_IShellExecuteHookW
112 #define IID_INewShortcutHook IID_INewShortcutHookW
114 #define IID_IFileViewer IID_IFileViewerA
115 #define IID_IShellLink IID_IShellLinkA
116 #define IID_IExtractIcon IID_IExtractIconA
117 #define IID_IShellCopyHook IID_IShellCopyHookA
118 #define IID_IShellExecuteHook IID_IShellExecuteHookA
119 #define IID_INewShortcutHook IID_INewShortcutHookA