ReactOS 0.4.15-dev-7928-g68a8619
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 24 of file error.c.

25{
26 int iRet = 0;
27 LPWSTR lpMsgBuf = NULL;
28 DWORD Status = 0;
30
31 va_start(args, dwErrorCode);
32
34 NULL,
35 dwErrorCode,
37 (LPWSTR)&lpMsgBuf,
38 0,
39 &args);
40
41 va_end(args);
42
43 iRet = MessageBoxW(hWnd, (Status && lpMsgBuf ? lpMsgBuf : L"Error displaying error message."), lpTitle, MB_OK | MB_ICONERROR);
44
45 if (lpMsgBuf) LocalFree(lpMsgBuf);
46
47 /* Return the MessageBoxW information */
48 return iRet;
49}
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:787
#define MB_OK
Definition: winuser.h:790
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 51 of file error.c.

52{
53 int iRet = 0;
54 LPWSTR lpMsgBuf = NULL;
56
57 va_start(args, lpMessage);
58
59 if (lpMessage)
60 {
61 SIZE_T strLen = _vscwprintf(lpMessage, args);
62
63 /* Create a buffer on the heap and zero it out (LPTR) */
64 lpMsgBuf = (LPWSTR)LocalAlloc(LPTR, (strLen + 1) * sizeof(WCHAR));
65 if (lpMsgBuf)
66 {
67 _vsnwprintf(lpMsgBuf, strLen, lpMessage, args);
68 }
69 }
70
71 va_end(args);
72
73 iRet = MessageBoxW(hWnd, (lpMessage && lpMsgBuf ? lpMsgBuf : L"Error displaying info message."), lpTitle, uType);
74
75 if (lpMsgBuf) LocalFree(lpMsgBuf);
76
77 /* Return the MessageBoxW information */
78 return iRet;
79}
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().