ReactOS  0.4.14-dev-55-g2da92ac
browseui_undoc.h
Go to the documentation of this file.
1 /*
2  * ReactOS shlwapi
3  *
4  * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
5  *
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.
10  *
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.
15  *
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
19  */
20 
21 #ifndef __BROWSEUI_UNDOC_H
22 #define __BROWSEUI_UNDOC_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif /* defined(__cplusplus) */
27 
28 // Name is IETHREADPARAM according to symbols / mangled function names
29 #ifdef _WIN64
30 typedef struct IEThreadParamBlock
31 {
32  long offset0; // 0x00
33  UCHAR gap4[4];
34  DWORD dwFlags; // 0x08
35  long offset8; // 0x0c
36  IUnknown* offsetC; // 0x10
37  long offset10; // 0x18
38  char padding1[4]; // 0x1c
39  IUnknown* offset14; // 0x20
41  WCHAR awsz_30[21]; // 0x30
42  WCHAR awszEventName[21]; // 0x5A
43  char padding2[4]; // 0x84
44  IUnknown* offset70; // 0x88
45  long offset74; // 0x90 unknown contents
46  char padding3[4]; // 0x94
47  IUnknown* offset78; // 0x98
48  LPITEMIDLIST offset7C; // 0xa0
49  LPITEMIDLIST offset80; // 0xa8
50  LONG offset84; // 0xb0
51  LONG offset88; // 0xb4
52  LONG offset8C; // 0xb8
53  LONG offset90; // 0xbc
54  LONG offset94; // 0xc0
55  LONG offset98; // 0xc4
56  LONG offset9C; // 0xc8
57  LONG offsetA0; // 0xcc
58  char field_B4[52];
59  LONG offsetD8; // 0x104
60  UCHAR gap108[24];
61  DWORD dword120;
62  DWORD dword124;
63  IUnknown* offsetF8; // 0x128 instance explorer
64  UCHAR byteflags_130;
66 #else
67 typedef struct IEThreadParamBlock
68 {
69  long offset0;
71  long offset8;
73  long offset10;
76  char offset1C[0x70-0x1C]; // unknown contents -- 0x1C..0x6c
78  long offset74; // unknown contents
90  char offsetA4[0xD8-0xA4]; // unknown contents -- 0xA4..0xD8
92  char offsetDC[0xF8-0xDC]; // unknown contents -- 0xDC..0xF8
93  IUnknown * offsetF8; // instance explorer
94  LONG offsetFC; // unknown contents
96 #endif
97 
99 {
103  int nCmdShow;
115 
116 #define SH_EXPLORER_CMDLINE_FLAG_ONE 0x00000001
117 #define SH_EXPLORER_CMDLINE_FLAG_S 0x00000002
118 // unknown/unused 0x00000004
119 #define SH_EXPLORER_CMDLINE_FLAG_E 0x00000008
120 // unknown/unused 0x00000010
121 // unknown/unused 0x00000020
122 #define SH_EXPLORER_CMDLINE_FLAG_SELECT 0x00000040
123 #define SH_EXPLORER_CMDLINE_FLAG_EMBED 0x00000080
124 // unknown/unused 0x00000100
125 #define SH_EXPLORER_CMDLINE_FLAG_IDLIST 0x00000200
126 #define SH_EXPLORER_CMDLINE_FLAG_INPROC 0x00000400
127 // unknown/unused 0x00000800
128 #define SH_EXPLORER_CMDLINE_FLAG_NOUI 0x00001000
129 // unknown/unused 0x00002000
130 #define SH_EXPLORER_CMDLINE_FLAG_N 0x00004000
131 // unknown/unused 0x00008000
132 // unknown/unused 0x00010000
133 #define SH_EXPLORER_CMDLINE_FLAG_SEPARATE 0x00020000
134 // unknown/unused 0x00040000
135 // unknown/unused 0x00080000
136 // unknown/unused 0x00100000
137 // unknown/unused 0x00200000
138 // unknown/unused 0x00400000
139 // unknown/unused 0x00800000
140 // unknown/unused 0x01000000
141 #define SH_EXPLORER_CMDLINE_FLAG_STRING 0x02000000
142 
143 #define WM_EXPLORER_OPEN_NEW_WINDOW (WM_USER+11)
144 #define WM_EXPLORER_1037 (WM_USER+13)
145 
146 void WINAPI InitOCHostClass(long param8);
148 void WINAPI SHCreateSavedWindows(void);
151 void WINAPI UEMRegisterNotify(long param8, long paramC);
152 HRESULT WINAPI SHCreateBandForPidl(LPCITEMIDLIST param8, IUnknown *paramC, BOOL param10);
153 HRESULT WINAPI SHPidlFromDataObject(IDataObject *param8, long *paramC, long param10, FILEDESCRIPTORW *param14);
154 long WINAPI IDataObject_GetDeskBandState(long param8);
155 PIE_THREAD_PARAM_BLOCK WINAPI SHCreateIETHREADPARAM(long param8, long paramC, IUnknown *param10, IUnknown *param14);
157 long WINAPI SHParseIECommandLine(long param8, long paramC);
159 BOOL WINAPI SHOnCWMCommandLine(HANDLE hSharedInfo);
163 HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC);
165 HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long param10, long param14);
166 HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax);
167 HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out);
168 HRESULT WINAPI SHWriteClassesOfCategories(long param8, long paramC, long param10, long param14, long param18, long param1C, long param20);
170 HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, DWORD dwFlags);
171 
172 
173 #define INTERFACE IACLCustomMRU
174 DECLARE_INTERFACE_IID_(IACLCustomMRU, IUnknown, "F729FC5E-8769-4F3E-BDB2-D7B50FD2275B")
175 {
176  // *** IUnknown methods ***
180 
181  // *** IACLCustomMRU specific methods ***
182  STDMETHOD(Initialize) (THIS_ LPCWSTR pwszMRURegKey, DWORD dwMax) PURE;
183  STDMETHOD(AddMRUString) (THIS_ LPCWSTR pwszEntry) PURE;
184 };
185 #undef INTERFACE
186 
187 #ifdef __cplusplus
188 } /* extern "C" */
189 #endif /* defined(__cplusplus) */
190 
191 #endif /* __BROWSEUI_UNDOC_H */
BOOL WINAPI SHIsExplorerBrowser(void)
#define REFIID
Definition: guiddef.h:118
long WINAPI SHOpenFolderWindow(PIE_THREAD_PARAM_BLOCK parameters)
Definition: desktopipc.cpp:548
void WINAPI UEMRegisterNotify(long param8, long paramC)
Definition: browseuiord.cpp:47
#define THIS_
Definition: basetyps.h:65
PIE_THREAD_PARAM_BLOCK WINAPI SHCreateIETHREADPARAM(long param8, long paramC, IUnknown *param10, IUnknown *param14)
Definition: desktopipc.cpp:450
_In_ BOOLEAN Release
Definition: classpnp.h:929
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
#define THIS
Definition: basetyps.h:66
LPITEMIDLIST WINAPI Channel_GetFolderPidl(void)
Definition: browseuiord.cpp:86
REFIID riid
Definition: precomp.h:44
void WINAPI InitOCHostClass(long param8)
Definition: browseuiord.cpp:26
BOOL WINAPI SHOnCWMCommandLine(HANDLE hSharedInfo)
Definition: desktopipc.cpp:530
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
HRESULT WINAPI SHCreateBandForPidl(LPCITEMIDLIST param8, IUnknown *paramC, BOOL param10)
Definition: browseuiord.cpp:54
REFIID LPVOID * ppv
Definition: atlbase.h:39
HRESULT WINAPI SHPidlFromDataObject(IDataObject *param8, long *paramC, long param10, FILEDESCRIPTORW *param14)
Definition: browseuiord.cpp:62
HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long param10, long param14)
IUnknown *WINAPI ChannelBand_Create(LPITEMIDLIST pidl)
Definition: browseuiord.cpp:94
void WINAPI SHDestroyIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param)
NTSTATUS QueryInterface(IN PDEVICE_OBJECT DeviceObject, IN CONST GUID InterfaceType, IN LONG Size, IN LONG Version, OUT PVOID Interface)
Definition: fdo.c:532
struct ExplorerCommandLineParseResults * PEXPLORER_CMDLINE_PARSE_RESULTS
HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC)
CHAR * LPTSTR
Definition: xmlstorage.h:192
#define STDMETHOD(m)
Definition: basetyps.h:62
LPITEMIDLIST offset80
void WINAPI SHCreateSavedWindows(void)
Definition: browseuiord.cpp:35
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
struct IEThreadParamBlock * PIE_THREAD_PARAM_BLOCK
HRESULT WINAPI SHWriteClassesOfCategories(long param8, long paramC, long param10, long param14, long param18, long param1C, long param20)
HRESULT WINAPI Channels_SetBandInfoSFB(IUnknown *param8)
LPITEMIDLIST offset7C
__wchar_t WCHAR
Definition: xmlstorage.h:180
struct IEThreadParamBlock IE_THREAD_PARAM_BLOCK
LONG HRESULT
Definition: typedefs.h:77
DECLARE_INTERFACE_IID_(IACLCustomMRU, IUnknown, "F729FC5E-8769-4F3E-BDB2-D7B50FD2275B")
GLfloat param
Definition: glext.h:5796
#define WINAPI
Definition: msvc.h:8
static FILE * out
Definition: regtests2xml.c:44
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
UINT cchMax
UINT_PTR WINAPI SHExplorerParseCmdLine(PEXPLORER_CMDLINE_PARSE_RESULTS pParseResults)
unsigned char UCHAR
Definition: xmlstorage.h:181
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
BOOL WINAPI SHCreateFromDesktop(PEXPLORER_CMDLINE_PARSE_RESULTS parseResults)
HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax)
PIE_THREAD_PARAM_BLOCK WINAPI SHCloneIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param)
long WINAPI IDataObject_GetDeskBandState(long param8)
Definition: browseuiord.cpp:70
HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out)
BOOL Initialize(HINSTANCE hInstance)
Definition: msconfig.c:341
struct ExplorerCommandLineParseResults EXPLORER_CMDLINE_PARSE_RESULTS
#define PURE
Definition: basetyps.h:64
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, DWORD dwFlags)
Definition: desktopipc.cpp:578
unsigned int ULONG
Definition: retypes.h:1
static const DWORD padding1[]
Definition: api.c:134
char offsetDC[0xF8-0xDC]
char offset1C[0x70-0x1C]
WCHAR * LPWSTR
Definition: xmlstorage.h:184
long WINAPI SHParseIECommandLine(long param8, long paramC)
Definition: browseuiord.cpp:78
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
char offsetA4[0xD8-0xA4]
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
LPITEMIDLIST directoryPIDL
HRESULT WINAPI Channel_QuickLaunch(void)