ReactOS 0.4.15-dev-8100-g1887773
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
25extern "C" {
26#endif /* defined(__cplusplus) */
27
28// Name is IETHREADPARAM according to symbols / mangled function names
29#ifdef _WIN64
30typedef 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* pExplorerInstance; // 0x128 instance explorer
64 UCHAR byteflags_130;
66#else
67typedef struct IEThreadParamBlock
68{
69 long offset0;
71 long offset8;
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 * pExplorerInstance; // instance explorer
94 LONG offsetFC; // unknown contents
96#endif
97
99{
101 // TODO: PIDLIST_ABSOLUTE?
109 // TODO: PIDLIST_ABSOLUTE?
113 // TODO: 'ULONG Padding[0x100];'?
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
146void WINAPI InitOCHostClass(long param8);
151void WINAPI UEMRegisterNotify(long param8, long paramC);
153HRESULT WINAPI SHPidlFromDataObject(IDataObject *param8, long *paramC, long param10, FILEDESCRIPTORW *param14);
154long WINAPI IDataObject_GetDeskBandState(long param8);
155PIE_THREAD_PARAM_BLOCK WINAPI SHCreateIETHREADPARAM(long param8, long paramC, IUnknown *param10, IUnknown *param14);
157long WINAPI SHParseIECommandLine(long param8, long paramC);
163HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC);
165HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long param10, long param14);
166HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax);
167HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out);
168HRESULT WINAPI SHWriteClassesOfCategories(long param8, long paramC, long param10, long param14, long param18, long param1C, long param20);
170HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, DWORD dwFlags);
171
172
173#define INTERFACE IACLCustomMRU
174DECLARE_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;
184};
185#undef INTERFACE
186
187#ifdef __cplusplus
188} /* extern "C" */
189#endif /* defined(__cplusplus) */
190
191#endif /* __BROWSEUI_UNDOC_H */
UINT cchMax
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
BOOL WINAPI SHIsExplorerBrowser(void)
UINT_PTR WINAPI SHExplorerParseCmdLine(_Out_ PEXPLORER_CMDLINE_PARSE_RESULTS pInfo)
void WINAPI SHDestroyIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param)
long WINAPI IDataObject_GetDeskBandState(long param8)
Definition: browseuiord.cpp:70
PIE_THREAD_PARAM_BLOCK WINAPI SHCloneIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param)
PIE_THREAD_PARAM_BLOCK WINAPI SHCreateIETHREADPARAM(long param8, long paramC, IUnknown *param10, IUnknown *param14)
Definition: desktopipc.cpp:444
HRESULT WINAPI SHCreateBandForPidl(LPCITEMIDLIST param8, IUnknown *paramC, BOOL param10)
Definition: browseuiord.cpp:54
HRESULT WINAPI SHPidlFromDataObject(IDataObject *param8, long *paramC, long param10, FILEDESCRIPTORW *param14)
Definition: browseuiord.cpp:62
HRESULT WINAPI IUnknown_SetBandInfoSFB(IUnknown *param8, long paramC)
HRESULT WINAPI SHOpenNewFrame(LPITEMIDLIST pidl, IUnknown *paramC, long param10, DWORD dwFlags)
Definition: desktopipc.cpp:578
HRESULT WINAPI GetInfoTip(IUnknown *param8, long paramC, LPTSTR *param10, long cchMax)
HRESULT WINAPI SHGetNavigateTarget(long param8, long paramC, long param10, long param14)
HRESULT WINAPI Channel_QuickLaunch(void)
struct IEThreadParamBlock IE_THREAD_PARAM_BLOCK
HRESULT WINAPI SHEnumClassesOfCategories(ULONG cImplemented, CATID *pImplemented, ULONG cRequired, CATID *pRequired, IEnumGUID **out)
long WINAPI SHParseIECommandLine(long param8, long paramC)
Definition: browseuiord.cpp:78
BOOL WINAPI SHCreateFromDesktop(_In_ PEXPLORER_CMDLINE_PARSE_RESULTS parseResults)
Definition: desktopipc.cpp:606
LPITEMIDLIST WINAPI Channel_GetFolderPidl(void)
Definition: browseuiord.cpp:86
void WINAPI InitOCHostClass(long param8)
Definition: browseuiord.cpp:26
long WINAPI SHOpenFolderWindow(PIE_THREAD_PARAM_BLOCK parameters)
Definition: desktopipc.cpp:542
void WINAPI SHCreateSavedWindows(void)
Definition: browseuiord.cpp:35
struct IEThreadParamBlock * PIE_THREAD_PARAM_BLOCK
HRESULT WINAPI Channels_SetBandInfoSFB(IUnknown *param8)
BOOL WINAPI SHOnCWMCommandLine(HANDLE hSharedInfo)
Definition: desktopipc.cpp:524
HRESULT WINAPI SHWriteClassesOfCategories(long param8, long paramC, long param10, long param14, long param18, long param1C, long param20)
void WINAPI UEMRegisterNotify(long param8, long paramC)
Definition: browseuiord.cpp:47
IUnknown *WINAPI ChannelBand_Create(LPITEMIDLIST pidl)
Definition: browseuiord.cpp:94
struct ExplorerCommandLineParseResults * PEXPLORER_CMDLINE_PARSE_RESULTS
struct ExplorerCommandLineParseResults EXPLORER_CMDLINE_PARSE_RESULTS
_In_ BOOLEAN Release
Definition: cdrom.h:920
#define AddMRUString
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLfloat param
Definition: glext.h:5796
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
static const DWORD padding1[]
Definition: api.c:134
static HRESULT QueryInterface(REFIID, void **)
Definition: events.c:2587
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:90
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
#define DECLARE_INTERFACE_IID_(iface, ibase, iid)
Definition: objbase.h:229
long LONG
Definition: pedump.c:60
#define REFIID
Definition: guiddef.h:118
static FILE * out
Definition: regtests2xml.c:44
ITEMIDLIST UNALIGNED * LPITEMIDLIST
Definition: shtypes.idl:41
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
Definition: shtypes.idl:42
char offsetA4[0xD8-0xA4]
LPITEMIDLIST offset80
IUnknown * pExplorerInstance
char offsetDC[0xF8-0xDC]
LPITEMIDLIST directoryPIDL
char offset1C[0x70-0x1C]
LPITEMIDLIST offset7C
uint32_t ULONG
Definition: typedefs.h:59
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
#define WINAPI
Definition: msvc.h:6
static void Initialize()
Definition: xlate.c:212
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
WCHAR * LPWSTR
Definition: xmlstorage.h:184
CHAR * LPTSTR
Definition: xmlstorage.h:192
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185