reactos/win32ss/user/winsrv/usersrv/usersrv.h
Hermès Bélusca-Maïto 5a1a35ca5a
[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.
2018-04-07 18:48:09 +02:00

45 lines
889 B
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS User API Server DLL
* FILE: win32ss/user/winsrv/usersrv/usersrv.h
* PURPOSE: Main header - Definitions
* PROGRAMMERS: Hermes Belusca-Maito (hermes.belusca@sfr.fr)
*/
#ifndef __USERSRV_H__
#define __USERSRV_H__
/* Main header */
#include "../winsrv.h"
/* PSDK/NDK Headers */
#include <stdarg.h>
#define WIN32_NO_STATUS
#define _INC_WINDOWS
#define COM_NO_WINDOWS_H
// #define NTOS_MODE_USER
/* BASE Header */
#include <win/base.h>
/* USER Headers */
#include <win/winmsg.h>
/* Globals */
extern HINSTANCE UserServerDllInstance;
extern HANDLE UserServerHeap;
extern ULONG_PTR ServicesProcessId;
extern ULONG_PTR LogonProcessId;
BOOL CALLBACK
FindTopLevelWnd(
IN HWND hWnd,
IN LPARAM lParam);
VOID
UserInitHardErrorsCache(VOID);
#endif /* __USERSRV_H__ */