4 * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __BROWSEUI_UNDOC_H
22 #define __BROWSEUI_UNDOC_H
26 #endif /* defined(__cplusplus) */
28 typedef struct IEThreadParamBlock
36 LPITEMIDLIST directoryPIDL
; // 0x18
37 char offset1C
[0x70-0x1C]; // unknown contents -- 0x1C..0x6c
39 long offset74
; // unknown contents
41 LPITEMIDLIST offset7C
;
42 LPITEMIDLIST offset80
;
51 char offsetA4
[0xD8-0xA4]; // unknown contents -- 0xA4..0xD8
53 char offsetDC
[0xF8-0xDC]; // unknown contents -- 0xDC..0xF8
54 IUnknown
* offsetF8
; // instance explorer
55 LONG offsetFC
; // unknown contents
56 } IE_THREAD_PARAM_BLOCK
, *PIE_THREAD_PARAM_BLOCK
;
58 typedef struct ExplorerCommandLineParseResults
61 LPITEMIDLIST pidlPath
;
68 LPITEMIDLIST pidlRoot
;
74 } EXPLORER_CMDLINE_PARSE_RESULTS
, *PEXPLORER_CMDLINE_PARSE_RESULTS
;
76 #define SH_EXPLORER_CMDLINE_FLAG_ONE 0x00000001
77 #define SH_EXPLORER_CMDLINE_FLAG_S 0x00000002
78 // unknown/unused 0x00000004
79 #define SH_EXPLORER_CMDLINE_FLAG_E 0x00000008
80 // unknown/unused 0x00000010
81 // unknown/unused 0x00000020
82 #define SH_EXPLORER_CMDLINE_FLAG_SELECT 0x00000040
83 #define SH_EXPLORER_CMDLINE_FLAG_EMBED 0x00000080
84 // unknown/unused 0x00000100
85 #define SH_EXPLORER_CMDLINE_FLAG_IDLIST 0x00000200
86 #define SH_EXPLORER_CMDLINE_FLAG_INPROC 0x00000400
87 // unknown/unused 0x00000800
88 #define SH_EXPLORER_CMDLINE_FLAG_NOUI 0x00001000
89 // unknown/unused 0x00002000
90 #define SH_EXPLORER_CMDLINE_FLAG_N 0x00004000
91 // unknown/unused 0x00008000
92 // unknown/unused 0x00010000
93 #define SH_EXPLORER_CMDLINE_FLAG_SEPARATE 0x00020000
94 // unknown/unused 0x00040000
95 // unknown/unused 0x00080000
96 // unknown/unused 0x00100000
97 // unknown/unused 0x00200000
98 // unknown/unused 0x00400000
99 // unknown/unused 0x00800000
100 // unknown/unused 0x01000000
101 #define SH_EXPLORER_CMDLINE_FLAG_STRING 0x02000000
103 #define WM_EXPLORER_OPEN_NEW_WINDOW (WM_USER+11)
104 #define WM_EXPLORER_1037 (WM_USER+13)
106 void WINAPI
InitOCHostClass(long param8
);
107 long WINAPI
SHOpenFolderWindow(PIE_THREAD_PARAM_BLOCK parameters
);
108 void WINAPI
SHCreateSavedWindows(void);
109 BOOL WINAPI
SHCreateFromDesktop(PEXPLORER_CMDLINE_PARSE_RESULTS parseResults
);
110 UINT WINAPI
SHExplorerParseCmdLine(PEXPLORER_CMDLINE_PARSE_RESULTS pParseResults
);
111 void WINAPI
UEMRegisterNotify(long param8
, long paramC
);
112 HRESULT WINAPI
SHCreateBandForPidl(LPCITEMIDLIST param8
, IUnknown
*paramC
, BOOL param10
);
113 HRESULT WINAPI
SHPidlFromDataObject(IDataObject
*param8
, long *paramC
, long param10
, FILEDESCRIPTORW
*param14
);
114 long WINAPI
IDataObject_GetDeskBandState(long param8
);
115 PIE_THREAD_PARAM_BLOCK WINAPI
SHCreateIETHREADPARAM(long param8
, long paramC
, IUnknown
*param10
, IUnknown
*param14
);
116 PIE_THREAD_PARAM_BLOCK WINAPI
SHCloneIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param
);
117 long WINAPI
SHParseIECommandLine(long param8
, long paramC
);
118 void WINAPI
SHDestroyIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param
);
119 BOOL WINAPI
SHOnCWMCommandLine(HANDLE hSharedInfo
);
120 LPITEMIDLIST WINAPI
Channel_GetFolderPidl(void);
121 IUnknown
*WINAPI
ChannelBand_Create(LPITEMIDLIST pidl
);
122 HRESULT WINAPI
Channels_SetBandInfoSFB(IUnknown
*param8
);
123 HRESULT WINAPI
IUnknown_SetBandInfoSFB(IUnknown
*param8
, long paramC
);
124 HRESULT WINAPI
Channel_QuickLaunch(void);
125 HRESULT WINAPI
SHGetNavigateTarget(long param8
, long paramC
, long param10
, long param14
);
126 HRESULT WINAPI
GetInfoTip(IUnknown
*param8
, long paramC
, LPTSTR
*param10
, long cchMax
);
127 HRESULT WINAPI
SHEnumClassesOfCategories(ULONG cImplemented
, CATID
*pImplemented
, ULONG cRequired
, CATID
*pRequired
, IEnumGUID
**out
);
128 HRESULT WINAPI
SHWriteClassesOfCategories(long param8
, long paramC
, long param10
, long param14
, long param18
, long param1C
, long param20
);
129 BOOL WINAPI
SHIsExplorerBrowser();
130 HRESULT WINAPI
SHOpenNewFrame(LPITEMIDLIST pidl
, IUnknown
*paramC
, long param10
, DWORD dwFlags
);
134 #endif /* defined(__cplusplus) */
136 #endif /* __BROWSEUI_UNDOC_H */