4 * Copyright 1997 Andrew Taylor
17 #define ErrorString(manifest) { manifest, # manifest }
24 ErrorString(ERR_GALLOC
),
25 ErrorString(ERR_GREALLOC
),
26 ErrorString(ERR_GLOCK
),
27 ErrorString(ERR_LALLOC
),
28 ErrorString(ERR_LREALLOC
),
29 ErrorString(ERR_LLOCK
),
30 ErrorString(ERR_ALLOCRES
),
31 ErrorString(ERR_LOCKRES
),
32 ErrorString(ERR_LOADMODULE
),
33 ErrorString(ERR_CREATEDLG
),
34 ErrorString(ERR_CREATEDLG2
),
35 ErrorString(ERR_REGISTERCLASS
),
36 ErrorString(ERR_DCBUSY
),
37 ErrorString(ERR_CREATEWND
),
38 ErrorString(ERR_STRUCEXTRA
),
39 ErrorString(ERR_LOADSTR
),
40 ErrorString(ERR_LOADMENU
),
41 ErrorString(ERR_NESTEDBEGINPAINT
),
42 ErrorString(ERR_BADINDEX
),
43 ErrorString(ERR_CREATEMENU
),
44 ErrorString(ERR_CREATEDC
),
45 ErrorString(ERR_CREATEMETA
),
46 ErrorString(ERR_DELOBJSELECTED
),
47 ErrorString(ERR_SELBITMAP
)
50 #define ErrorStringCount (sizeof(ErrorStrings) / sizeof(ErrorStrings[0]))
55 } ParamErrorStrings
[] = {
57 ErrorString(ERR_BAD_VALUE
),
58 ErrorString(ERR_BAD_FLAGS
),
59 ErrorString(ERR_BAD_INDEX
),
60 ErrorString(ERR_BAD_DVALUE
),
61 ErrorString(ERR_BAD_DFLAGS
),
62 ErrorString(ERR_BAD_DINDEX
),
63 ErrorString(ERR_BAD_PTR
),
64 ErrorString(ERR_BAD_FUNC_PTR
),
65 ErrorString(ERR_BAD_SELECTOR
),
66 ErrorString(ERR_BAD_STRING_PTR
),
67 ErrorString(ERR_BAD_HANDLE
),
68 ErrorString(ERR_BAD_HINSTANCE
),
69 ErrorString(ERR_BAD_HMODULE
),
70 ErrorString(ERR_BAD_GLOBAL_HANDLE
),
71 ErrorString(ERR_BAD_LOCAL_HANDLE
),
72 ErrorString(ERR_BAD_ATOM
),
73 ErrorString(ERR_BAD_HFILE
),
74 ErrorString(ERR_BAD_HWND
),
75 ErrorString(ERR_BAD_HMENU
),
76 ErrorString(ERR_BAD_HCURSOR
),
77 ErrorString(ERR_BAD_HICON
),
78 ErrorString(ERR_BAD_HDWP
),
79 ErrorString(ERR_BAD_CID
),
80 ErrorString(ERR_BAD_HDRVR
),
81 ErrorString(ERR_BAD_COORDS
),
82 ErrorString(ERR_BAD_GDI_OBJECT
),
83 ErrorString(ERR_BAD_HDC
),
84 ErrorString(ERR_BAD_HPEN
),
85 ErrorString(ERR_BAD_HFONT
),
86 ErrorString(ERR_BAD_HBRUSH
),
87 ErrorString(ERR_BAD_HBITMAP
),
88 ErrorString(ERR_BAD_HRGN
),
89 ErrorString(ERR_BAD_HPALETTE
),
90 ErrorString(ERR_BAD_HMETAFILE
)
93 #define ParamErrorStringCount (sizeof(ParamErrorStrings) / sizeof(ParamErrorStrings[0]))
95 #endif /* DEBUG_RUNTIME */
97 /***********************************************************************
98 * GetErrorString (internal)
100 static const char *GetErrorString(UINT16 uErr
) {
101 static char buffer
[80];
106 for (i
= 0; i
< ErrorStringCount
; i
++) {
107 if (uErr
== ErrorStrings
[i
].constant
)
108 return ErrorStrings
[i
].name
;
112 sprintf(buffer
, "%x", uErr
);
117 /***********************************************************************
118 * GetParamErrorString (internal)
120 static const char *GetParamErrorString(UINT16 uErr
) {
121 static char buffer
[80];
123 if (uErr
& ERR_WARNING
) {
124 strcpy(buffer
, "ERR_WARNING | ");
125 uErr
&= ~ERR_WARNING
;
133 for (i
= 0; i
< ParamErrorStringCount
; i
++) {
134 if (uErr
== ParamErrorStrings
[i
].constant
) {
135 strcat(buffer
, ParamErrorStrings
[i
].name
);
142 sprintf(buffer
+ strlen(buffer
), "%x", uErr
);
147 /***********************************************************************
148 * LogError (KERNEL.324)
150 VOID
LogError(UINT16 uErr
, LPVOID lpvInfo
) {
151 fprintf(stddeb
, "LogError(%s, %p)\n",
152 GetErrorString(uErr
), lpvInfo
);
156 /***********************************************************************
157 * LogParamError (KERNEL.325)
159 void LogParamError(UINT16 uErr
, FARPROC16 lpfn
, LPVOID lpvParam
) {
160 /* FIXME: is it possible to get the module name/function
161 * from the lpfn param?
163 fprintf(stddeb
, "LogParamError(%s, %p, %p)\n",
164 GetParamErrorString(uErr
), lpfn
, lpvParam
);