[browseui, shell32, explorer_new, include]
- Convert browseui to C++/ATL. As part of this, classes in browseui and now registered with .rgs files.
- Add AddressBand, AddressEditBox, BandProxy, BaseBar, BaseBarSite, BrandBand, InternetToolbar, ShellBrowser, ToolsBand, and TravelLog.
- Add stub implementations of commonbrowser, globalfoldersettings, and regtreeoptions.
- Clean up some msvc compile problems in a few files.
- Reorganize some headers to make them better match the Platform SDK.
- Move InlineIsEqualGUID to guiddef.h.
- Create new header files shlguid_undoc.h, shlobj_undoc.h, and shlwapi_undoc.h to hold undocumented types, functions, and GUIDs.
- Move some undocumented definitions declared in explorer_new/todo.h and undoc.h to new headers.
- Rename a few interfaces in explorer_new to the correct name
- Add definition of RBSTR_CHANGERECT to commctrl.h
- IDeskBarClient inherits from IOleWindow, not IUnknown
- HMONITOR was declared in both dxsdk/axextend.idl and wine/wined3d.idl, but not in wtypes.idl where it belongs
- Added Init and Term to CComModule
- Thanks to encoded for solving the browseui linking problem!
svn path=/trunk/; revision=43872
2009-10-31 14:25:45 +00:00
|
|
|
/*
|
|
|
|
* ReactOS shlwapi
|
|
|
|
*
|
|
|
|
* Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __SHLWAPI_UNDOC_H
|
|
|
|
#define __SHLWAPI_UNDOC_H
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
|
2011-05-24 19:06:33 +00:00
|
|
|
BOOL WINAPI SHAboutInfoA(LPSTR lpszDest, DWORD dwDestLen);
|
|
|
|
BOOL WINAPI SHAboutInfoW(LPWSTR lpszDest, DWORD dwDestLen);
|
2020-09-18 08:30:16 +00:00
|
|
|
#ifdef UNICODE
|
|
|
|
#define SHAboutInfo SHAboutInfoW
|
|
|
|
#else
|
|
|
|
#define SHAboutInfo SHAboutInfoA
|
|
|
|
#endif
|
|
|
|
|
2020-09-27 06:27:18 +00:00
|
|
|
HMODULE WINAPI SHPinDllOfCLSID(REFIID refiid);
|
2011-05-24 19:06:33 +00:00
|
|
|
HRESULT WINAPI IUnknown_QueryStatus(IUnknown *lpUnknown, REFGUID pguidCmdGroup, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT* pCmdText);
|
|
|
|
HRESULT WINAPI IUnknown_Exec(IUnknown* lpUnknown, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT* pvaIn, VARIANT* pvaOut);
|
|
|
|
LONG WINAPI SHSetWindowBits(HWND hwnd, INT offset, UINT wMask, UINT wFlags);
|
|
|
|
HWND WINAPI SHSetParentHwnd(HWND hWnd, HWND hWndParent);
|
|
|
|
HRESULT WINAPI ConnectToConnectionPoint(IUnknown *lpUnkSink, REFIID riid, BOOL bAdviseOnly, IUnknown *lpUnknown, LPDWORD lpCookie, IConnectionPoint **lppCP);
|
|
|
|
BOOL WINAPI SHIsSameObject(IUnknown *lpInt1, IUnknown *lpInt2);
|
|
|
|
BOOL WINAPI SHLoadMenuPopup(HINSTANCE hInst, LPCWSTR szName);
|
|
|
|
void WINAPI SHPropagateMessage(HWND hWnd, UINT uiMsgId, WPARAM wParam, LPARAM lParam, BOOL bSend);
|
|
|
|
DWORD WINAPI SHRemoveAllSubMenus(HMENU hMenu);
|
|
|
|
UINT WINAPI SHEnableMenuItem(HMENU hMenu, UINT wItemID, BOOL bEnable);
|
|
|
|
DWORD WINAPI SHCheckMenuItem(HMENU hMenu, UINT uID, BOOL bCheck);
|
|
|
|
DWORD WINAPI SHRegisterClassA(WNDCLASSA *wndclass);
|
|
|
|
BOOL WINAPI SHSimulateDrop(IDropTarget *pDrop, IDataObject *pDataObj, DWORD grfKeyState, PPOINTL lpPt, DWORD* pdwEffect);
|
|
|
|
HMENU WINAPI SHGetMenuFromID(HMENU hMenu, UINT uID);
|
2011-09-09 10:55:09 +00:00
|
|
|
DWORD WINAPI SHGetCurColorRes(void);
|
2011-05-24 19:06:33 +00:00
|
|
|
DWORD WINAPI SHWaitForSendMessageThread(HANDLE hand, DWORD dwTimeout);
|
|
|
|
HRESULT WINAPI SHIsExpandableFolder(LPSHELLFOLDER lpFolder, LPCITEMIDLIST pidl);
|
|
|
|
DWORD WINAPI SHFillRectClr(HDC hDC, LPCRECT pRect, COLORREF cRef);
|
|
|
|
int WINAPI SHSearchMapInt(const int *lpKeys, const int *lpValues, int iLen, int iKey);
|
|
|
|
VOID WINAPI IUnknown_Set(IUnknown **lppDest, IUnknown *lpUnknown);
|
|
|
|
HRESULT WINAPI MayQSForward(IUnknown* lpUnknown, PVOID lpReserved, REFGUID riidCmdGrp, ULONG cCmds, OLECMD *prgCmds, OLECMDTEXT *pCmdText);
|
|
|
|
HRESULT WINAPI MayExecForward(IUnknown* lpUnknown, INT iUnk, REFGUID pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
|
|
|
|
HRESULT WINAPI IsQSForward(REFGUID pguidCmdGroup,ULONG cCmds, OLECMD *prgCmds);
|
|
|
|
BOOL WINAPI SHIsChildOrSelf(HWND hParent, HWND hChild);
|
2015-03-30 11:42:41 +00:00
|
|
|
HRESULT WINAPI SHForwardContextMenuMsg(IUnknown* pUnk, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pResult, BOOL useIContextMenu2);
|
2011-05-24 19:06:33 +00:00
|
|
|
|
2020-04-27 18:43:16 +00:00
|
|
|
HRESULT WINAPI SHRegGetCLSIDKeyW(REFGUID guid, LPCWSTR lpszValue, BOOL bUseHKCU, BOOL bCreate, PHKEY phKey);
|
2014-11-27 20:27:19 +00:00
|
|
|
|
2017-01-17 15:16:06 +00:00
|
|
|
BOOL WINAPI SHAddDataBlock(LPDBLIST* lppList, const DATABLOCK_HEADER *lpNewItem);
|
|
|
|
BOOL WINAPI SHRemoveDataBlock(LPDBLIST* lppList, DWORD dwSignature);
|
|
|
|
DATABLOCK_HEADER* WINAPI SHFindDataBlock(LPDBLIST lpList, DWORD dwSignature);
|
|
|
|
HRESULT WINAPI SHWriteDataBlockList(IStream* lpStream, LPDBLIST lpList);
|
|
|
|
HRESULT WINAPI SHReadDataBlockList(IStream* lpStream, LPDBLIST* lppList);
|
|
|
|
VOID WINAPI SHFreeDataBlockList(LPDBLIST lpList);
|
|
|
|
|
|
|
|
/* Redirected to kernel32.ExpandEnvironmentStringsA/W */
|
|
|
|
DWORD WINAPI SHExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
|
|
|
|
DWORD WINAPI SHExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
|
|
|
|
#ifdef UNICODE
|
|
|
|
#define SHExpandEnvironmentStrings SHExpandEnvironmentStringsW
|
|
|
|
#else
|
|
|
|
#define SHExpandEnvironmentStrings SHExpandEnvironmentStringsA
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* Redirected to userenv.ExpandEnvironmentStringsForUserA/W */
|
|
|
|
#if (WINVER >= 0x0500)
|
|
|
|
BOOL WINAPI SHExpandEnvironmentStringsForUserA(HANDLE, LPCSTR, LPSTR, DWORD);
|
|
|
|
BOOL WINAPI SHExpandEnvironmentStringsForUserW(HANDLE, LPCWSTR, LPWSTR, DWORD);
|
|
|
|
#ifdef UNICODE
|
|
|
|
#define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserW
|
|
|
|
#else
|
|
|
|
#define SHExpandEnvironmentStringsForUser SHExpandEnvironmentStringsForUserA
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2014-11-27 20:27:19 +00:00
|
|
|
BOOL WINAPI SHIsEmptyStream(IStream*);
|
|
|
|
HRESULT WINAPI SHInvokeDefaultCommand(HWND,IShellFolder*,LPCITEMIDLIST);
|
|
|
|
HRESULT WINAPI SHPropertyBag_ReadPOINTL(IPropertyBag*,LPCWSTR,POINTL*);
|
|
|
|
|
|
|
|
HRESULT WINAPI SHGetPerScreenResName(OUT LPWSTR lpResName,
|
|
|
|
IN INT cchResName,
|
|
|
|
IN DWORD dwReserved);
|
|
|
|
|
|
|
|
HRESULT WINAPI SHPropertyBag_ReadStream(IPropertyBag*,LPCWSTR,IStream**);
|
|
|
|
|
2018-02-12 23:10:09 +00:00
|
|
|
HWND WINAPI SHCreateWorkerWindowA(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle,
|
|
|
|
DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra);
|
2014-11-27 20:27:19 +00:00
|
|
|
|
2018-02-12 23:10:09 +00:00
|
|
|
HWND WINAPI SHCreateWorkerWindowW(WNDPROC wndProc, HWND hWndParent, DWORD dwExStyle,
|
|
|
|
DWORD dwStyle, HMENU hMenu, LONG_PTR wnd_extra);
|
2014-11-27 20:27:19 +00:00
|
|
|
#ifdef UNICODE
|
|
|
|
#define SHCreateWorkerWindow SHCreateWorkerWindowW
|
|
|
|
#else
|
|
|
|
#define SHCreateWorkerWindow SHCreateWorkerWindowA
|
|
|
|
#endif
|
[browseui, shell32, explorer_new, include]
- Convert browseui to C++/ATL. As part of this, classes in browseui and now registered with .rgs files.
- Add AddressBand, AddressEditBox, BandProxy, BaseBar, BaseBarSite, BrandBand, InternetToolbar, ShellBrowser, ToolsBand, and TravelLog.
- Add stub implementations of commonbrowser, globalfoldersettings, and regtreeoptions.
- Clean up some msvc compile problems in a few files.
- Reorganize some headers to make them better match the Platform SDK.
- Move InlineIsEqualGUID to guiddef.h.
- Create new header files shlguid_undoc.h, shlobj_undoc.h, and shlwapi_undoc.h to hold undocumented types, functions, and GUIDs.
- Move some undocumented definitions declared in explorer_new/todo.h and undoc.h to new headers.
- Rename a few interfaces in explorer_new to the correct name
- Add definition of RBSTR_CHANGERECT to commctrl.h
- IDeskBarClient inherits from IOleWindow, not IUnknown
- HMONITOR was declared in both dxsdk/axextend.idl and wine/wined3d.idl, but not in wtypes.idl where it belongs
- Added Init and Term to CComModule
- Thanks to encoded for solving the browseui linking problem!
svn path=/trunk/; revision=43872
2009-10-31 14:25:45 +00:00
|
|
|
|
2017-04-16 19:35:19 +00:00
|
|
|
HRESULT WINAPI IUnknown_SetOwner(IUnknown *iface, IUnknown *pUnk);
|
2014-12-17 11:35:07 +00:00
|
|
|
HRESULT WINAPI IUnknown_GetClassID(IUnknown *lpUnknown, CLSID *lpClassId);
|
|
|
|
HRESULT WINAPI IUnknown_QueryServiceExec(IUnknown *lpUnknown, REFIID service, const GUID *group, DWORD cmdId, DWORD cmdOpt, VARIANT *pIn, VARIANT *pOut);
|
|
|
|
HRESULT WINAPI IUnknown_UIActivateIO(IUnknown *unknown, BOOL activate, LPMSG msg);
|
|
|
|
HRESULT WINAPI IUnknown_TranslateAcceleratorOCS(IUnknown *lpUnknown, LPMSG lpMsg, DWORD dwModifiers);
|
|
|
|
HRESULT WINAPI IUnknown_OnFocusOCS(IUnknown *lpUnknown, BOOL fGotFocus);
|
|
|
|
HRESULT WINAPI IUnknown_HandleIRestrict(LPUNKNOWN lpUnknown, PVOID lpArg1, PVOID lpArg2, PVOID lpArg3, PVOID lpArg4);
|
|
|
|
HRESULT WINAPI IUnknown_HasFocusIO(IUnknown * punk);
|
|
|
|
HRESULT WINAPI IUnknown_TranslateAcceleratorIO(IUnknown * punk, MSG * pmsg);
|
|
|
|
HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObject, BOOL bFocus);
|
|
|
|
|
2020-04-13 01:36:24 +00:00
|
|
|
DWORD WINAPI SHAnsiToUnicode(LPCSTR lpSrcStr, LPWSTR lpDstStr, INT iLen);
|
|
|
|
INT WINAPI SHUnicodeToAnsi(LPCWSTR lpSrcStr, LPSTR lpDstStr, INT iLen);
|
|
|
|
|
2020-09-18 08:09:29 +00:00
|
|
|
DWORD WINAPI SHAnsiToUnicodeCP(DWORD dwCp, LPCSTR lpSrcStr, LPWSTR lpDstStr, int iLen);
|
|
|
|
DWORD WINAPI SHUnicodeToAnsiCP(UINT CodePage, LPCWSTR lpSrcStr, LPSTR lpDstStr, int dstlen);
|
|
|
|
|
2020-04-13 01:36:24 +00:00
|
|
|
PVOID WINAPI SHLockSharedEx(HANDLE hData, DWORD dwProcessId, BOOL bWriteAccess);
|
|
|
|
|
2020-09-18 08:22:16 +00:00
|
|
|
DWORD WINAPI SHGetValueGoodBootA(HKEY hkey, LPCSTR pSubKey, LPCSTR pValue,
|
|
|
|
LPDWORD pwType, LPVOID pvData, LPDWORD pbData);
|
|
|
|
DWORD WINAPI SHGetValueGoodBootW(HKEY hkey, LPCWSTR pSubKey, LPCWSTR pValue,
|
|
|
|
LPDWORD pwType, LPVOID pvData, LPDWORD pbData);
|
2020-09-18 08:30:16 +00:00
|
|
|
#ifdef UNICODE
|
|
|
|
#define SHGetValueGoodBoot SHGetValueGoodBootW
|
|
|
|
#else
|
|
|
|
#define SHGetValueGoodBoot SHGetValueGoodBootA
|
|
|
|
#endif
|
2020-09-18 08:22:16 +00:00
|
|
|
|
[SHELL32][SHLWAPI] Forward shell32.ShellMessageBoxW directly to shlwapi.ShellMessageBoxWrapW. (#3179)
This makes ShellMessageBoxW use the correct implementation where the
text buffer size is dynamic, instead of having a too small hardcoded
size.
Fixes CORE-17271.
See also PR #3172 by Kyle Katarn, supplemented with some ideas from
Mark Jansen.
However we cannot straightforwardly implement ShellMessageBoxA around
ShellMessageBoxW, by converting some parameters from ANSI to UNICODE,
because there may be some variadic ANSI strings, associated with '%s'
printf-like formatters inside the format string, that would also need
to be converted; however there is no way for us to find these and perform
the conversion ourselves.
Therefore, we re-implement ShellMessageBoxA by doing a copy-paste ANSI
adaptation of the shlwapi.ShellMessageBoxWrapW function.
Note that, on Vista+ onwards, shlwapi implements both ShellMessageBoxA/W,
and shell32 directly forwards these exports to shlwapi, thus avoiding
these workarounds.
[PSDK] Explicily use WINAPIV for the variadic ShellMessageBoxA/W functions.
[INCLUDE/REACTOS] Add ShellMessageBoxWrapW in shlwapi_undoc.h .
2020-09-13 16:21:29 +00:00
|
|
|
int
|
|
|
|
WINAPIV
|
|
|
|
ShellMessageBoxWrapW(
|
|
|
|
_In_opt_ HINSTANCE hAppInst,
|
|
|
|
_In_opt_ HWND hWnd,
|
|
|
|
_In_ LPCWSTR lpcText,
|
|
|
|
_In_opt_ LPCWSTR lpcTitle,
|
|
|
|
_In_ UINT fuStyle,
|
|
|
|
...);
|
|
|
|
|
[browseui, shell32, explorer_new, include]
- Convert browseui to C++/ATL. As part of this, classes in browseui and now registered with .rgs files.
- Add AddressBand, AddressEditBox, BandProxy, BaseBar, BaseBarSite, BrandBand, InternetToolbar, ShellBrowser, ToolsBand, and TravelLog.
- Add stub implementations of commonbrowser, globalfoldersettings, and regtreeoptions.
- Clean up some msvc compile problems in a few files.
- Reorganize some headers to make them better match the Platform SDK.
- Move InlineIsEqualGUID to guiddef.h.
- Create new header files shlguid_undoc.h, shlobj_undoc.h, and shlwapi_undoc.h to hold undocumented types, functions, and GUIDs.
- Move some undocumented definitions declared in explorer_new/todo.h and undoc.h to new headers.
- Rename a few interfaces in explorer_new to the correct name
- Add definition of RBSTR_CHANGERECT to commctrl.h
- IDeskBarClient inherits from IOleWindow, not IUnknown
- HMONITOR was declared in both dxsdk/axextend.idl and wine/wined3d.idl, but not in wtypes.idl where it belongs
- Added Init and Term to CComModule
- Thanks to encoded for solving the browseui linking problem!
svn path=/trunk/; revision=43872
2009-10-31 14:25:45 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
} /* extern "C" */
|
|
|
|
#endif /* defined(__cplusplus) */
|
|
|
|
|
|
|
|
#endif /* __SHLWAPI_UNDOC_H */
|