Commit graph

7 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto 14599b0a37
[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 22:44:58 +02:00
Ged Murphy 0649f25b48 [SHELL32] Implement SHTestTokenMembership and forward IsUserAnAdmin to it
Moved to the bottom of the file with the other ros functions to help keep wine syncs easier.
2019-03-04 11:54:43 +00:00
Amine Khaldi 601cdab402 [PSDK] Update shellapi.h and shlobj.h. CORE-15682 2019-02-04 13:00:25 +01:00
Hermès Bélusca-Maïto 8b78b0ff98
[PSDK] Add missing shell notification message flags. 2018-02-10 15:43:24 +01:00
Hermès Bélusca-Maïto a64c33e787
[PSDK] Fix NIF_STATE definition and add NIF_GUID. 2018-02-04 18:11:48 +01:00
Hermès Bélusca-Maïto 9d2139b7d8
[PSDK] Fix NOTIFYICONDATA structure; add NOTIFYICONDATA_V3_SIZE definitions. 2018-02-04 01:56:53 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
Renamed from reactos/sdk/include/psdk/shellapi.h (Browse further)