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 __SHLWAPI_UNDOC_H
22 #define __SHLWAPI_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 BOOL WINAPI
SHAboutInfoA(LPSTR lpszDest
, DWORD dwDestLen
);
107 BOOL WINAPI
SHAboutInfoW(LPWSTR lpszDest
, DWORD dwDestLen
);
108 HRESULT WINAPI
IUnknown_QueryStatus(IUnknown
*lpUnknown
, REFGUID pguidCmdGroup
, ULONG cCmds
, OLECMD
*prgCmds
, OLECMDTEXT
* pCmdText
);
109 HRESULT WINAPI
IUnknown_Exec(IUnknown
* lpUnknown
, REFGUID pguidCmdGroup
, DWORD nCmdID
, DWORD nCmdexecopt
, VARIANT
* pvaIn
, VARIANT
* pvaOut
);
110 LONG WINAPI
SHSetWindowBits(HWND hwnd
, INT offset
, UINT wMask
, UINT wFlags
);
111 HWND WINAPI
SHSetParentHwnd(HWND hWnd
, HWND hWndParent
);
112 HRESULT WINAPI
ConnectToConnectionPoint(IUnknown
*lpUnkSink
, REFIID riid
, BOOL bAdviseOnly
, IUnknown
*lpUnknown
, LPDWORD lpCookie
, IConnectionPoint
**lppCP
);
113 BOOL WINAPI
SHIsSameObject(IUnknown
*lpInt1
, IUnknown
*lpInt2
);
114 HRESULT WINAPI
IUnknown_GetWindow(IUnknown
*lpUnknown
, HWND
*lphWnd
);
115 HRESULT WINAPI
IUnknown_SetOwner(IUnknown
*pUnk
, ULONG arg
);
116 HRESULT WINAPI
IUnknown_SetSite(IUnknown
*obj
, IUnknown
*site
);
117 HRESULT WINAPI
IUnknown_GetClassID(IUnknown
*lpUnknown
, CLSID
*lpClassId
);
118 HRESULT WINAPI
IUnknown_QueryService(IUnknown
* lpUnknown
, REFGUID sid
, REFIID riid
, LPVOID
*lppOut
);
119 HRESULT WINAPI
IUnknown_QueryServiceExec(IUnknown
*lpUnknown
, REFIID service
, const GUID
*group
, DWORD cmdId
, DWORD cmdOpt
, VARIANT
*pIn
, VARIANT
*pOut
);
120 HRESULT WINAPI
IUnknown_UIActivateIO(IUnknown
*unknown
, BOOL activate
, LPMSG msg
);
121 BOOL WINAPI
SHLoadMenuPopup(HINSTANCE hInst
, LPCWSTR szName
);
122 void WINAPI
SHPropagateMessage(HWND hWnd
, UINT uiMsgId
, WPARAM wParam
, LPARAM lParam
, BOOL bSend
);
123 DWORD WINAPI
SHRemoveAllSubMenus(HMENU hMenu
);
124 UINT WINAPI
SHEnableMenuItem(HMENU hMenu
, UINT wItemID
, BOOL bEnable
);
125 DWORD WINAPI
SHCheckMenuItem(HMENU hMenu
, UINT uID
, BOOL bCheck
);
126 DWORD WINAPI
SHRegisterClassA(WNDCLASSA
*wndclass
);
127 BOOL WINAPI
SHSimulateDrop(IDropTarget
*pDrop
, IDataObject
*pDataObj
, DWORD grfKeyState
, PPOINTL lpPt
, DWORD
* pdwEffect
);
128 HRESULT WINAPI
IUnknown_TranslateAcceleratorOCS(IUnknown
*lpUnknown
, LPMSG lpMsg
, DWORD dwModifiers
);
129 HRESULT WINAPI
IUnknown_OnFocusOCS(IUnknown
*lpUnknown
, BOOL fGotFocus
);
130 HRESULT WINAPI
IUnknown_HandleIRestrict(LPUNKNOWN lpUnknown
, PVOID lpArg1
, PVOID lpArg2
, PVOID lpArg3
, PVOID lpArg4
);
131 HMENU WINAPI
SHGetMenuFromID(HMENU hMenu
, UINT uID
);
132 DWORD WINAPI
SHGetCurColorRes(void);
133 DWORD WINAPI
SHWaitForSendMessageThread(HANDLE hand
, DWORD dwTimeout
);
134 HRESULT WINAPI
SHIsExpandableFolder(LPSHELLFOLDER lpFolder
, LPCITEMIDLIST pidl
);
135 DWORD WINAPI
SHFillRectClr(HDC hDC
, LPCRECT pRect
, COLORREF cRef
);
136 int WINAPI
SHSearchMapInt(const int *lpKeys
, const int *lpValues
, int iLen
, int iKey
);
137 VOID WINAPI
IUnknown_Set(IUnknown
**lppDest
, IUnknown
*lpUnknown
);
138 HRESULT WINAPI
MayQSForward(IUnknown
* lpUnknown
, PVOID lpReserved
, REFGUID riidCmdGrp
, ULONG cCmds
, OLECMD
*prgCmds
, OLECMDTEXT
*pCmdText
);
139 HRESULT WINAPI
MayExecForward(IUnknown
* lpUnknown
, INT iUnk
, REFGUID pguidCmdGroup
, DWORD nCmdID
, DWORD nCmdexecopt
, VARIANT
*pvaIn
, VARIANT
*pvaOut
);
140 HRESULT WINAPI
IsQSForward(REFGUID pguidCmdGroup
,ULONG cCmds
, OLECMD
*prgCmds
);
141 BOOL WINAPI
SHIsChildOrSelf(HWND hParent
, HWND hChild
);
143 void WINAPI
InitOCHostClass(long param8
);
144 long WINAPI
SHOpenFolderWindow(PIE_THREAD_PARAM_BLOCK parameters
);
145 void WINAPI
SHCreateSavedWindows(void);
146 BOOL WINAPI
SHCreateFromDesktop(PEXPLORER_CMDLINE_PARSE_RESULTS parseResults
);
147 UINT WINAPI
SHExplorerParseCmdLine(PEXPLORER_CMDLINE_PARSE_RESULTS pParseResults
);
148 void WINAPI
UEMRegisterNotify(long param8
, long paramC
);
149 HRESULT WINAPI
SHCreateBandForPidl(LPCITEMIDLIST param8
, IUnknown
*paramC
, BOOL param10
);
150 HRESULT WINAPI
SHPidlFromDataObject(IDataObject
*param8
, long *paramC
, long param10
, FILEDESCRIPTORW
*param14
);
151 long WINAPI
IDataObject_GetDeskBandState(long param8
);
152 PIE_THREAD_PARAM_BLOCK WINAPI
SHCreateIETHREADPARAM(long param8
, long paramC
, IUnknown
*param10
, IUnknown
*param14
);
153 PIE_THREAD_PARAM_BLOCK WINAPI
SHCloneIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param
);
154 long WINAPI
SHParseIECommandLine(long param8
, long paramC
);
155 void WINAPI
SHDestroyIETHREADPARAM(PIE_THREAD_PARAM_BLOCK param
);
156 BOOL WINAPI
SHOnCWMCommandLine(HANDLE hSharedInfo
);
157 LPITEMIDLIST WINAPI
Channel_GetFolderPidl(void);
158 IUnknown
*WINAPI
ChannelBand_Create(LPITEMIDLIST pidl
);
159 HRESULT WINAPI
Channels_SetBandInfoSFB(IUnknown
*param8
);
160 HRESULT WINAPI
IUnknown_SetBandInfoSFB(IUnknown
*param8
, long paramC
);
161 HRESULT WINAPI
Channel_QuickLaunch(void);
162 HRESULT WINAPI
SHGetNavigateTarget(long param8
, long paramC
, long param10
, long param14
);
163 HRESULT WINAPI
GetInfoTip(IUnknown
*param8
, long paramC
, LPTSTR
*param10
, long cchMax
);
164 HRESULT WINAPI
SHEnumClassesOfCategories(long param8
, long paramC
, long param10
, long param14
, long param18
);
165 HRESULT WINAPI
SHWriteClassesOfCategories(long param8
, long paramC
, long param10
, long param14
, long param18
, long param1C
, long param20
);
166 BOOL WINAPI
SHIsExplorerBrowser();
167 HRESULT WINAPI
SHOpenNewFrame(LPITEMIDLIST pidl
, IUnknown
*paramC
, long param10
, DWORD dwFlags
);
171 #endif /* defined(__cplusplus) */
173 #endif /* __SHLWAPI_UNDOC_H */