ReactOS 0.4.16-dev-188-g678aa63
error.c File Reference
#include "regedit.h"
Include dependency graph for error.c:

Go to the source code of this file.

Functions

int ErrorMessageBox (HWND hWnd, LPCWSTR lpTitle, DWORD dwErrorCode,...)
 
int InfoMessageBox (HWND hWnd, UINT uType, LPCWSTR lpTitle, LPCWSTR lpMessage,...)
 

Function Documentation

◆ ErrorMessageBox()

int ErrorMessageBox ( HWND  hWnd,
LPCWSTR  lpTitle,
DWORD  dwErrorCode,
  ... 
)

Definition at line 11 of file error.c.

12{
13 int iRet = 0;
14 LPWSTR lpMsgBuf = NULL;
15 DWORD Status = 0;
17
18 va_start(args, dwErrorCode);
19
21 NULL,
22 dwErrorCode,
24 (LPWSTR)&lpMsgBuf,
25 0,
26 &args);
27
28 va_end(args);
29
30 iRet = MessageBoxW(hWnd, (Status && lpMsgBuf ? lpMsgBuf : L"Error displaying error message."), lpTitle, MB_OK | MB_ICONERROR);
31
32 if (lpMsgBuf) LocalFree(lpMsgBuf);
33
34 /* Return the MessageBoxW information */
35 return iRet;
36}
char * va_list
Definition: acmsvcex.h:78
#define va_end(ap)
Definition: acmsvcex.h:90
#define va_start(ap, A)
Definition: acmsvcex.h:91
HWND hWnd
Definition: settings.c:17
TCHAR lpTitle[80]
Definition: ctm.c:69
#define NULL
Definition: types.h:112
DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, __ms_va_list *args)
Definition: format_msg.c:583
unsigned long DWORD
Definition: ntddk_ex.h:95
Status
Definition: gdiplustypes.h:25
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1594
#define L(x)
Definition: ntvdm.h:50
#define LANG_NEUTRAL
Definition: nls.h:22
#define MAKELANGID(p, s)
Definition: nls.h:15
#define SUBLANG_DEFAULT
Definition: nls.h:168
#define args
Definition: format.c:66
Definition: match.c:390
#define FORMAT_MESSAGE_FROM_SYSTEM
Definition: winbase.h:423
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:419
int WINAPI MessageBoxW(_In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)
#define MB_ICONERROR
Definition: winuser.h:790
#define MB_OK
Definition: winuser.h:793
WCHAR * LPWSTR
Definition: xmlstorage.h:184

Referenced by error_code_messagebox(), ExportRegistryFile(), ImportRegistryFile(), LoadHive(), TreeWndNotifyProc(), and UnloadHive().

◆ InfoMessageBox()

int InfoMessageBox ( HWND  hWnd,
UINT  uType,
LPCWSTR  lpTitle,
LPCWSTR  lpMessage,
  ... 
)

Definition at line 38 of file error.c.

39{
40 int iRet = 0;
41 LPWSTR lpMsgBuf = NULL;
43
44 va_start(args, lpMessage);
45
46 if (lpMessage)
47 {
48 SIZE_T strLen = _vscwprintf(lpMessage, args);
49
50 /* Create a buffer on the heap and zero it out (LPTR) */
51 lpMsgBuf = (LPWSTR)LocalAlloc(LPTR, (strLen + 1) * sizeof(WCHAR));
52 if (lpMsgBuf)
53 {
54 _vsnwprintf(lpMsgBuf, strLen, lpMessage, args);
55 }
56 }
57
58 va_end(args);
59
60 iRet = MessageBoxW(hWnd, (lpMessage && lpMsgBuf ? lpMsgBuf : L"Error displaying info message."), lpTitle, uType);
61
62 if (lpMsgBuf) LocalFree(lpMsgBuf);
63
64 /* Return the MessageBoxW information */
65 return iRet;
66}
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:1390
_CRTIMP int __cdecl _vsnwprintf(wchar_t *_Dest, size_t _Count, const wchar_t *_Format, va_list _Args)
_Check_return_ _CRTIMP int __cdecl _vscwprintf(_In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList)
ULONG_PTR SIZE_T
Definition: typedefs.h:80
#define LPTR
Definition: winbase.h:381
__wchar_t WCHAR
Definition: xmlstorage.h:180

Referenced by CreateNewKey(), ExportRegistryFile(), ImportRegistryFile(), and PerformRegAction().