[ATL] Add CHAIN_MSG_MAP macro
[reactos.git] / sdk / include / reactos / shlwapi_undoc.h
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 __SHLWAPI_UNDOC_H
22 #define __SHLWAPI_UNDOC_H
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif /* defined(__cplusplus) */
27
28 BOOL WINAPI SHAboutInfoA(LPSTR lpszDest, DWORD dwDestLen);
29 BOOL WINAPI SHAboutInfoW(LPWSTR lpszDest, DWORD dwDestLen);
30 HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT* pCmdText);
31 HRESULT WINAPI IUnknown_Exec(IUnknown* lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT* pvaIn, VARIANT* pvaOut);
32 LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT wMask, UINT wFlags);
33 HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent);
34 HRESULT WINAPI ConnectToConnectionPoint(IUnknown *lpUnkSink, REFIID riid, BOOL bAdviseOnly, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP);
35 BOOL WINAPI SHIsSameObject(IUnknown *lpInt1, IUnknown *lpInt2);
36 BOOL WINAPI SHLoadMenuPopup(HINSTANCE hInst, LPCWSTR szName);
37 void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend);
38 DWORD WINAPI SHRemoveAllSubMenus(HMENU hMenu);
39 UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable);
40 DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck);
41 DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass);
42 BOOL WINAPI SHSimulateDrop(IDropTarget *pDrop, IDataObject *pDataObj, DWORD grfKeyState, PPOINTL lpPt, DWORD* pdwEffect);
43 HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID);
44 DWORD WINAPI SHGetCurColorRes(void);
45 DWORD WINAPI SHWaitForSendMessageThread(HANDLE hand, DWORD dwTimeout);
46 HRESULT WINAPI SHIsExpandableFolder(LPSHELLFOLDER lpFolder, LPCITEMIDLIST pidl);
47 DWORD WINAPI SHFillRectClr(HDC hDC, LPCRECT pRect, COLORREF cRef);
48 int WINAPI SHSearchMapInt(const int *lpKeys, const int *lpValues, int iLen, int iKey);
49 VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown);
50 HRESULT WINAPI MayQSForward(IUnknown* lpUnknown, PVOID lpReserved, REFGUID riidCmdGrp, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText);
51 HRESULT WINAPI MayExecForward(IUnknown* lpUnknown, INT iUnk, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
52 HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup,ULONG cCmds, OLECMD *prgCmds);
53 BOOL WINAPI SHIsChildOrSelf(HWND hParent, HWND hChild);
54 HRESULT WINAPI SHForwardContextMenuMsg(IUnknown* pUnk, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pResult, BOOL useIContextMenu2);
55
56
57 BOOL WINAPI SHAddDataBlock(LPDBLIST* lppList, const DATABLOCK_HEADER *lpNewItem);
58 BOOL WINAPI SHRemoveDataBlock(LPDBLIST* lppList, DWORD dwSignature);
59 DATABLOCK_HEADER* WINAPI SHFindDataBlock(LPDBLIST lpList, DWORD dwSignature);
60 HRESULT WINAPI SHWriteDataBlockList(IStream* lpStream, LPDBLIST lpList);
61 HRESULT WINAPI SHReadDataBlockList(IStream* lpStream, LPDBLIST* lppList);
62 VOID WINAPI SHFreeDataBlockList(LPDBLIST lpList);
63
64 /* Redirected to kernel32.ExpandEnvironmentStringsA/W */
65 DWORD WINAPI SHExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
66 DWORD WINAPI SHExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
67 #ifdef UNICODE
68 #define SHExpandEnvironmentStrings SHExpandEnvironmentStringsW
69 #else
70 #define SHExpandEnvironmentStrings SHExpandEnvironmentStringsA
71 #endif
72
73 /* Redirected to userenv.ExpandEnvironmentStringsForUserA/W */
74 #if (WINVER >= 0x0500)
75 BOOL WINAPI SHExpandEnvironmentStringsForUserA(HANDLE, LPCSTR, LPSTR, DWORD);
76 BOOL WINAPI SHExpandEnvironmentStringsForUserW(HANDLE, LPCWSTR, LPWSTR, DWORD);
77 #ifdef UNICODE
78 #define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserW
79 #else
80 #define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserA
81 #endif
82 #endif
83
84
85 BOOL WINAPI SHIsEmptyStream(IStream*);
86 HRESULT WINAPI SHInvokeDefaultCommand(HWND,IShellFolder*,LPCITEMIDLIST);
87 HRESULT WINAPI SHPropertyBag_ReadPOINTL(IPropertyBag*,LPCWSTR,POINTL*);
88
89 HRESULT WINAPI SHGetPerScreenResName(OUT LPWSTR lpResName,
90 IN INT cchResName,
91 IN DWORD dwReserved);
92
93 HRESULT WINAPI SHPropertyBag_ReadStream(IPropertyBag*,LPCWSTR,IStream**);
94
95 HWND WINAPI SHCreateWorkerWindowA(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
96 DWORD dwStyle, HMENU hMenu, LONG z);
97
98 HWND WINAPI SHCreateWorkerWindowW(LONG wndProc, HWND hWndParent, DWORD dwExStyle,
99 DWORD dwStyle, HMENU hMenu, LONG z);
100 #ifdef UNICODE
101 #define SHCreateWorkerWindow SHCreateWorkerWindowW
102 #else
103 #define SHCreateWorkerWindow SHCreateWorkerWindowA
104 #endif
105
106 HRESULT WINAPI IUnknown_SetOwner(IUnknown *iface, IUnknown *pUnk);
107 HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *lpClassId);
108 HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *lpUnknown, REFIID service, const GUID *group, DWORD cmdId, DWORD cmdOpt, VARIANT *pIn, VARIANT *pOut);
109 HRESULT WINAPI IUnknown_UIActivateIO(IUnknown *unknown, BOOL activate, LPMSG msg);
110 HRESULT WINAPI IUnknown_TranslateAcceleratorOCS(IUnknown *lpUnknown, LPMSG lpMsg, DWORD dwModifiers);
111 HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus);
112 HRESULT WINAPI IUnknown_HandleIRestrict(LPUNKNOWN lpUnknown, PVOID lpArg1, PVOID lpArg2, PVOID lpArg3, PVOID lpArg4);
113 HRESULT WINAPI IUnknown_HasFocusIO(IUnknown * punk);
114 HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown * punk, MSG * pmsg);
115 HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus);
116
117 #ifdef __cplusplus
118 } /* extern "C" */
119 #endif /* defined(__cplusplus) */
120
121 #endif /* __SHLWAPI_UNDOC_H */