[USERSRV] Hard-error improvements 3/7
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sun, 4 Mar 2018 16:38:06 +0000 (17:38 +0100)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Sat, 7 Apr 2018 16:48:09 +0000 (18:48 +0200)
commit5a1a35ca5a6fca02dcabced12a5d19b020dc184d
treec0fec0e4f7aad7f214a0199a9512b69412c0bc08
parent2b299f5fec3067b6bc1c5795f9efe3a35b158fd6
[USERSRV] Hard-error improvements 3/7

- Cache localized hard error message components: the status severity,
  the system process name and the unhandled exception debug strings.
- Try not to fail too much. In particular, don't fail if a string could
  not be correctly captured in UserpCaptureStringParameters() (we then
  use a default empty string). The next aim is to make UserpFormatMessages()
  not failing at all.
- Use RtlStringCbPrintf(Ex)W where possible so that one can use counted
  (and not NULL-terminated) UNICODE_STRINGs where possible. This allows
  using counted resource strings without having to allocate memory.
- If available, prepend the window title of the application that
  triggered the hard error to the hard error message box caption.
27 files changed:
win32ss/user/winsrv/usersrv/harderror.c
win32ss/user/winsrv/usersrv/init.c
win32ss/user/winsrv/usersrv/lang/bg-BG.rc
win32ss/user/winsrv/usersrv/lang/cs-CZ.rc
win32ss/user/winsrv/usersrv/lang/de-DE.rc
win32ss/user/winsrv/usersrv/lang/el-GR.rc
win32ss/user/winsrv/usersrv/lang/en-US.rc
win32ss/user/winsrv/usersrv/lang/es-ES.rc
win32ss/user/winsrv/usersrv/lang/fr-FR.rc
win32ss/user/winsrv/usersrv/lang/he-IL.rc
win32ss/user/winsrv/usersrv/lang/id-ID.rc
win32ss/user/winsrv/usersrv/lang/it-IT.rc
win32ss/user/winsrv/usersrv/lang/ja-JP.rc
win32ss/user/winsrv/usersrv/lang/no-NO.rc
win32ss/user/winsrv/usersrv/lang/pl-PL.rc
win32ss/user/winsrv/usersrv/lang/pt-BR.rc
win32ss/user/winsrv/usersrv/lang/ro-RO.rc
win32ss/user/winsrv/usersrv/lang/ru-RU.rc
win32ss/user/winsrv/usersrv/lang/sk-SK.rc
win32ss/user/winsrv/usersrv/lang/sv-SE.rc
win32ss/user/winsrv/usersrv/lang/tr-TR.rc
win32ss/user/winsrv/usersrv/lang/uk-UA.rc
win32ss/user/winsrv/usersrv/lang/zh-CN.rc
win32ss/user/winsrv/usersrv/lang/zh-TW.rc
win32ss/user/winsrv/usersrv/resource.h
win32ss/user/winsrv/usersrv/shutdown.c
win32ss/user/winsrv/usersrv/usersrv.h