[VFD] Import the VFD project (Virtual Floppy Drive) which allows creating virtual
[reactos.git] / modules / rosapps / drivers / vfd / vfddbg.c
1 /*
2 vfddbg.c
3
4 Virtual Floppy Drive for Windows NT platform
5 Kernel mode driver debug functions
6
7 Copyright (C) 2003-2005 Ken Kato
8 */
9
10 #if !DBG
11
12 // suppress empty compile unit warning
13 #pragma warning (disable: 4206)
14 #pragma message ("Debug feature is disabled.")
15
16 #else // DBG
17
18 #include "imports.h"
19 #include "vfddrv.h"
20 #include "vfddbg.h"
21
22 #define CASE_RETURN_STR(str) case str: return #str;
23
24 //
25 // Return IRP Major Function name
26 //
27 #ifndef IRP_MJ_POWER
28 #define IRP_MJ_POWER 0x16
29 #endif
30 #ifndef IRP_MJ_SYSTEM_CONTROL
31 #define IRP_MJ_SYSTEM_CONTROL 0x17
32 #endif
33 #ifndef IRP_MJ_PNP
34 #define IRP_MJ_PNP 0x1b
35 #endif
36
37 PCSTR
38 GetMajorFuncName(
39 UCHAR major_code)
40 {
41 static char functionName[80];
42
43 switch (major_code) {
44 CASE_RETURN_STR(IRP_MJ_CREATE); // 0x00
45 CASE_RETURN_STR(IRP_MJ_CREATE_NAMED_PIPE); // 0x01
46 CASE_RETURN_STR(IRP_MJ_CLOSE); // 0x02
47 CASE_RETURN_STR(IRP_MJ_READ); // 0x03
48 CASE_RETURN_STR(IRP_MJ_WRITE); // 0x04
49 CASE_RETURN_STR(IRP_MJ_QUERY_INFORMATION); // 0x05
50 CASE_RETURN_STR(IRP_MJ_SET_INFORMATION); // 0x06
51 CASE_RETURN_STR(IRP_MJ_QUERY_EA); // 0x07
52 CASE_RETURN_STR(IRP_MJ_SET_EA); // 0x08
53 CASE_RETURN_STR(IRP_MJ_FLUSH_BUFFERS); // 0x09
54 CASE_RETURN_STR(IRP_MJ_QUERY_VOLUME_INFORMATION); // 0x0a
55 CASE_RETURN_STR(IRP_MJ_SET_VOLUME_INFORMATION); // 0x0b
56 CASE_RETURN_STR(IRP_MJ_DIRECTORY_CONTROL); // 0x0c
57 CASE_RETURN_STR(IRP_MJ_FILE_SYSTEM_CONTROL); // 0x0d
58 CASE_RETURN_STR(IRP_MJ_DEVICE_CONTROL); // 0x0e
59 CASE_RETURN_STR(IRP_MJ_INTERNAL_DEVICE_CONTROL); // 0x0f
60 CASE_RETURN_STR(IRP_MJ_SHUTDOWN); // 0x10
61 CASE_RETURN_STR(IRP_MJ_LOCK_CONTROL); // 0x11
62 CASE_RETURN_STR(IRP_MJ_CLEANUP); // 0x12
63 CASE_RETURN_STR(IRP_MJ_CREATE_MAILSLOT); // 0x13
64 CASE_RETURN_STR(IRP_MJ_QUERY_SECURITY); // 0x14
65 CASE_RETURN_STR(IRP_MJ_SET_SECURITY); // 0x15
66 CASE_RETURN_STR(IRP_MJ_POWER); // 0x16
67 CASE_RETURN_STR(IRP_MJ_SYSTEM_CONTROL); // 0x17
68 CASE_RETURN_STR(IRP_MJ_DEVICE_CHANGE); // 0x18
69 CASE_RETURN_STR(IRP_MJ_QUERY_QUOTA); // 0x19
70 CASE_RETURN_STR(IRP_MJ_SET_QUOTA); // 0x1a
71 CASE_RETURN_STR(IRP_MJ_PNP); // 0x1b
72 default:
73 functionName[sizeof(functionName) - 1] = '\0';
74 _snprintf(functionName, sizeof(functionName) - 1,
75 // sprintf(functionName,
76 "Unknown Major Function (0x%x)", major_code);
77 return functionName;
78 }
79 }
80
81 #ifdef VFD_PNP
82
83 //
84 // Return PnP IRP Minor Function Name
85 //
86 PCSTR
87 GetPnpIrpName(ULONG minor_code)
88 {
89 static char functionName[80];
90
91 switch (minor_code) {
92 CASE_RETURN_STR(IRP_MN_START_DEVICE); // 0x00
93 CASE_RETURN_STR(IRP_MN_QUERY_REMOVE_DEVICE); // 0x01
94 CASE_RETURN_STR(IRP_MN_REMOVE_DEVICE); // 0x02
95 CASE_RETURN_STR(IRP_MN_CANCEL_REMOVE_DEVICE); // 0x03
96 CASE_RETURN_STR(IRP_MN_STOP_DEVICE); // 0x04
97 CASE_RETURN_STR(IRP_MN_QUERY_STOP_DEVICE); // 0x05
98 CASE_RETURN_STR(IRP_MN_CANCEL_STOP_DEVICE); // 0x06
99 CASE_RETURN_STR(IRP_MN_QUERY_DEVICE_RELATIONS); // 0x07
100 CASE_RETURN_STR(IRP_MN_QUERY_INTERFACE); // 0x08
101 CASE_RETURN_STR(IRP_MN_QUERY_CAPABILITIES); // 0x09
102 CASE_RETURN_STR(IRP_MN_QUERY_RESOURCES); // 0x0A
103 CASE_RETURN_STR(IRP_MN_QUERY_RESOURCE_REQUIREMENTS); // 0x0B
104 CASE_RETURN_STR(IRP_MN_QUERY_DEVICE_TEXT); // 0x0C
105 CASE_RETURN_STR(IRP_MN_FILTER_RESOURCE_REQUIREMENTS); // 0x0D
106 CASE_RETURN_STR(IRP_MN_READ_CONFIG); // 0x0F
107 CASE_RETURN_STR(IRP_MN_WRITE_CONFIG); // 0x10
108 CASE_RETURN_STR(IRP_MN_EJECT); // 0x11
109 CASE_RETURN_STR(IRP_MN_SET_LOCK); // 0x12
110 CASE_RETURN_STR(IRP_MN_QUERY_ID); // 0x13
111 CASE_RETURN_STR(IRP_MN_QUERY_PNP_DEVICE_STATE); // 0x14
112 CASE_RETURN_STR(IRP_MN_QUERY_BUS_INFORMATION); // 0x15
113 CASE_RETURN_STR(IRP_MN_DEVICE_USAGE_NOTIFICATION); // 0x16
114 CASE_RETURN_STR(IRP_MN_SURPRISE_REMOVAL); // 0x17
115 CASE_RETURN_STR(IRP_MN_QUERY_LEGACY_BUS_INFORMATION); // 0x18
116 default:
117 functionName[sizeof(functionName) - 1] = '\0';
118 _snprintf(functionName, sizeof(functionName) - 1,
119 // sprintf(functionName,
120 "Unknown PNP IRP (0x%x)", minor_code);
121 return functionName;
122 }
123 }
124
125 //
126 // Return Power IRP Minor Function Name
127 //
128 PCSTR
129 GetPowerIrpName(ULONG minor_code)
130 {
131 static char functionName[80];
132
133 switch (minor_code) {
134 CASE_RETURN_STR(IRP_MN_SET_POWER);
135 CASE_RETURN_STR(IRP_MN_QUERY_POWER);
136 CASE_RETURN_STR(IRP_MN_WAIT_WAKE);
137 CASE_RETURN_STR(IRP_MN_POWER_SEQUENCE);
138 default:
139 functionName[sizeof(functionName) - 1] = '\0';
140 _snprintf(functionName, sizeof(functionName) - 1,
141 // sprintf(functionName,
142 "Unknown Power IRP (0x%x)", minor_code);
143 return functionName;
144 }
145 }
146
147 //
148 // Return System IRP Minor Function Name
149 //
150 PCSTR
151 GetSystemIrpName(ULONG minor_code)
152 {
153 static char functionName[80];
154
155 switch (minor_code) {
156 CASE_RETURN_STR(IRP_MN_QUERY_ALL_DATA); // 0x00
157 CASE_RETURN_STR(IRP_MN_QUERY_SINGLE_INSTANCE); // 0x01
158 CASE_RETURN_STR(IRP_MN_CHANGE_SINGLE_INSTANCE); // 0x02
159 CASE_RETURN_STR(IRP_MN_CHANGE_SINGLE_ITEM); // 0x03
160 CASE_RETURN_STR(IRP_MN_ENABLE_EVENTS); // 0x04
161 CASE_RETURN_STR(IRP_MN_DISABLE_EVENTS); // 0x05
162 CASE_RETURN_STR(IRP_MN_ENABLE_COLLECTION); // 0x06
163 CASE_RETURN_STR(IRP_MN_DISABLE_COLLECTION); // 0x07
164 CASE_RETURN_STR(IRP_MN_REGINFO); // 0x08
165 CASE_RETURN_STR(IRP_MN_EXECUTE_METHOD); // 0x09
166 default:
167 functionName[sizeof(functionName) - 1] = '\0';
168 _snprintf(functionName, sizeof(functionName) - 1,
169 // sprintf(functionName,
170 "Unknown System IRP (0x%x)", minor_code);
171 return functionName;
172 }
173 }
174
175 #endif // VFD_PNP
176
177
178 #include <ntdddisk.h>
179 #ifndef __REACTOS__
180 #include <ntddft.h>
181 #endif
182 #include <ntddstor.h>
183
184 #if (VER_PRODUCTBUILD < 2195)
185 //
186 // imports from Win2K DDK
187 //
188
189 // mountmgr.h
190
191 #define MOUNTMGRCONTROLTYPE ((ULONG) 'm')
192 #define MOUNTDEVCONTROLTYPE ((ULONG) 'M')
193 /*
194 #define IOCTL_MOUNTMGR_CREATE_POINT \
195 CTL_CODE(MOUNTMGRCONTROLTYPE, 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
196 #define IOCTL_MOUNTMGR_DELETE_POINTS \
197 CTL_CODE(MOUNTMGRCONTROLTYPE, 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
198 */
199 #define IOCTL_MOUNTMGR_QUERY_POINTS \
200 CTL_CODE(MOUNTMGRCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
201 #define IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY \
202 CTL_CODE(MOUNTMGRCONTROLTYPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
203 #define IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER \
204 CTL_CODE(MOUNTMGRCONTROLTYPE, 4, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
205 #define IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS \
206 CTL_CODE(MOUNTMGRCONTROLTYPE, 5, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
207 #define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED \
208 CTL_CODE(MOUNTMGRCONTROLTYPE, 6, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
209 #define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED \
210 CTL_CODE(MOUNTMGRCONTROLTYPE, 7, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
211 #define IOCTL_MOUNTMGR_CHANGE_NOTIFY \
212 CTL_CODE(MOUNTMGRCONTROLTYPE, 8, METHOD_BUFFERED, FILE_READ_ACCESS)
213 #define IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE \
214 CTL_CODE(MOUNTMGRCONTROLTYPE, 9, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
215 #define IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES \
216 CTL_CODE(MOUNTMGRCONTROLTYPE, 10, METHOD_BUFFERED, FILE_READ_ACCESS)
217 /*
218 #define IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION \
219 CTL_CODE(MOUNTMGRCONTROLTYPE, 11, METHOD_BUFFERED, FILE_READ_ACCESS)
220 */
221
222 // mountdev.h
223 /*
224 #define IOCTL_MOUNTDEV_QUERY_UNIQUE_ID \
225 CTL_CODE(MOUNTDEVCONTROLTYPE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
226 #define IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY \
227 CTL_CODE(MOUNTDEVCONTROLTYPE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
228 #define IOCTL_MOUNTDEV_QUERY_DEVICE_NAME \
229 CTL_CODE(MOUNTDEVCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
230 #define IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME \
231 CTL_CODE(MOUNTDEVCONTROLTYPE, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
232 #define IOCTL_MOUNTDEV_LINK_CREATED \
233 CTL_CODE(MOUNTDEVCONTROLTYPE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
234 #define IOCTL_MOUNTDEV_LINK_DELETED \
235 CTL_CODE(MOUNTDEVCONTROLTYPE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
236 */
237
238 // ntdddisk.h
239 #define IOCTL_DISK_UPDATE_DRIVE_SIZE \
240 CTL_CODE(IOCTL_DISK_BASE, 0x0032, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
241 #define IOCTL_DISK_GROW_PARTITION \
242 CTL_CODE(IOCTL_DISK_BASE, 0x0034, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
243 #define IOCTL_DISK_GET_CACHE_INFORMATION \
244 CTL_CODE(IOCTL_DISK_BASE, 0x0035, METHOD_BUFFERED, FILE_READ_ACCESS)
245 #define IOCTL_DISK_SET_CACHE_INFORMATION \
246 CTL_CODE(IOCTL_DISK_BASE, 0x0036, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
247 #define IOCTL_DISK_DELETE_DRIVE_LAYOUT \
248 CTL_CODE(IOCTL_DISK_BASE, 0x0040, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
249 #define IOCTL_DISK_FORMAT_DRIVE \
250 CTL_CODE(IOCTL_DISK_BASE, 0x00f3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
251 #define IOCTL_DISK_SENSE_DEVICE \
252 CTL_CODE(IOCTL_DISK_BASE, 0x00f8, METHOD_BUFFERED, FILE_ANY_ACCESS)
253 #define IOCTL_DISK_INTERNAL_SET_NOTIFY \
254 CTL_CODE(IOCTL_DISK_BASE, 0x0102, METHOD_BUFFERED, FILE_ANY_ACCESS)
255
256 // ntddft.h
257 #define FT_SECONDARY_READ_ALT \
258 CTL_CODE(FTTYPE, 4, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
259 #define FT_PRIMARY_READ_ALT \
260 CTL_CODE(FTTYPE, 5, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
261 #define FT_CLUSTER_SET_MEMBER_STATE \
262 CTL_CODE(FTTYPE,11, METHOD_BUFFERED, FILE_ANY_ACCESS)
263 #define FT_CLUSTER_GET_MEMBER_STATE \
264 CTL_CODE(FTTYPE,12, METHOD_BUFFERED, FILE_ANY_ACCESS)
265
266 // ntddstor.h
267 #define IOCTL_STORAGE_LOAD_MEDIA2 \
268 CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_ANY_ACCESS)
269 #define IOCTL_STORAGE_EJECTION_CONTROL \
270 CTL_CODE(IOCTL_STORAGE_BASE, 0x0250, METHOD_BUFFERED, FILE_ANY_ACCESS)
271 #define IOCTL_STORAGE_MCN_CONTROL \
272 CTL_CODE(IOCTL_STORAGE_BASE, 0x0251, METHOD_BUFFERED, FILE_ANY_ACCESS)
273 #define IOCTL_STORAGE_GET_MEDIA_TYPES_EX \
274 CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS)
275 #define IOCTL_STORAGE_RESET_BUS \
276 CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
277 #define IOCTL_STORAGE_RESET_DEVICE \
278 CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)
279 #define IOCTL_STORAGE_GET_DEVICE_NUMBER \
280 CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS)
281 #define IOCTL_STORAGE_PREDICT_FAILURE \
282 CTL_CODE(IOCTL_STORAGE_BASE, 0x0440, METHOD_BUFFERED, FILE_ANY_ACCESS)
283 #define IOCTL_STORAGE_QUERY_PROPERTY \
284 CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS)
285 #define OBSOLETE_IOCTL_STORAGE_RESET_BUS \
286 CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
287 #define OBSOLETE_IOCTL_STORAGE_RESET_DEVICE \
288 CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
289
290 // ntddft2.h
291 #define FTCONTROLTYPE ((ULONG) 'g')
292 #define FT_CREATE_LOGICAL_DISK \
293 CTL_CODE(FTCONTROLTYPE, 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
294 #define FT_BREAK_LOGICAL_DISK \
295 CTL_CODE(FTCONTROLTYPE, 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
296 #define FT_ENUMERATE_LOGICAL_DISKS \
297 CTL_CODE(FTCONTROLTYPE, 2, METHOD_BUFFERED, FILE_READ_ACCESS)
298 #define FT_QUERY_LOGICAL_DISK_INFORMATION \
299 CTL_CODE(FTCONTROLTYPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS)
300 #define FT_ORPHAN_LOGICAL_DISK_MEMBER \
301 CTL_CODE(FTCONTROLTYPE, 4, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
302 #define FT_REPLACE_LOGICAL_DISK_MEMBER \
303 CTL_CODE(FTCONTROLTYPE, 5, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
304 #define FT_QUERY_NT_DEVICE_NAME_FOR_LOGICAL_DISK \
305 CTL_CODE(FTCONTROLTYPE, 6, METHOD_BUFFERED, FILE_READ_ACCESS)
306 #define FT_INITIALIZE_LOGICAL_DISK \
307 CTL_CODE(FTCONTROLTYPE, 7, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
308 #define FT_QUERY_DRIVE_LETTER_FOR_LOGICAL_DISK \
309 CTL_CODE(FTCONTROLTYPE, 8, METHOD_BUFFERED, FILE_READ_ACCESS)
310 #define FT_CHECK_IO \
311 CTL_CODE(FTCONTROLTYPE, 9, METHOD_BUFFERED, FILE_READ_ACCESS)
312 #define FT_SET_DRIVE_LETTER_FOR_LOGICAL_DISK \
313 CTL_CODE(FTCONTROLTYPE, 10, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
314 #define FT_QUERY_NT_DEVICE_NAME_FOR_PARTITION \
315 CTL_CODE(FTCONTROLTYPE, 12, METHOD_BUFFERED, FILE_READ_ACCESS)
316 #define FT_CHANGE_NOTIFY \
317 CTL_CODE(FTCONTROLTYPE, 13, METHOD_BUFFERED, FILE_READ_ACCESS)
318 #define FT_STOP_SYNC_OPERATIONS \
319 CTL_CODE(FTCONTROLTYPE, 14, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
320 #define FT_QUERY_LOGICAL_DISK_ID \
321 CTL_CODE(FTCONTROLTYPE, 100, METHOD_BUFFERED, FILE_READ_ACCESS)
322 #define FT_CREATE_PARTITION_LOGICAL_DISK \
323 CTL_CODE(FTCONTROLTYPE, 101, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
324
325 // ntddvol.h
326 #define IOCTL_VOLUME_BASE ((ULONG) 'V')
327 #define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS \
328 CTL_CODE(IOCTL_VOLUME_BASE, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
329 #define IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE \
330 CTL_CODE(IOCTL_VOLUME_BASE, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
331 #define IOCTL_VOLUME_ONLINE \
332 CTL_CODE(IOCTL_VOLUME_BASE, 2, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
333 #define IOCTL_VOLUME_OFFLINE \
334 CTL_CODE(IOCTL_VOLUME_BASE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
335 #define IOCTL_VOLUME_IS_OFFLINE \
336 CTL_CODE(IOCTL_VOLUME_BASE, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
337 #define IOCTL_VOLUME_IS_IO_CAPABLE \
338 CTL_CODE(IOCTL_VOLUME_BASE, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
339 #define IOCTL_VOLUME_QUERY_FAILOVER_SET \
340 CTL_CODE(IOCTL_VOLUME_BASE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
341 #define IOCTL_VOLUME_QUERY_VOLUME_NUMBER \
342 CTL_CODE(IOCTL_VOLUME_BASE, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
343 #define IOCTL_VOLUME_LOGICAL_TO_PHYSICAL \
344 CTL_CODE(IOCTL_VOLUME_BASE, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
345 #define IOCTL_VOLUME_PHYSICAL_TO_LOGICAL \
346 CTL_CODE(IOCTL_VOLUME_BASE, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
347
348 #else // (VER_PRODUCTBUILD < 2195)
349
350 #include <mountmgr.h>
351 #include <mountdev.h>
352 #ifndef __REACTOS__
353 #include <ntddft2.h>
354 #endif
355 #include <ntddvol.h>
356
357 #define FT_SECONDARY_READ_ALT \
358 CTL_CODE(FTTYPE, 4, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
359 #define FT_PRIMARY_READ_ALT \
360 CTL_CODE(FTTYPE, 5, METHOD_OUT_DIRECT, FILE_ANY_ACCESS)
361
362 #endif // (VER_PRODUCTBUILD < 2195)
363
364 #if (VER_PRODUCTBUILD < 2600)
365 //
366 // imports from WinXP DDK
367 //
368
369 // mountmgr.h
370 #define IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH \
371 CTL_CODE(MOUNTMGRCONTROLTYPE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
372 #define IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATHS \
373 CTL_CODE(MOUNTMGRCONTROLTYPE, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
374
375 // mountdev.h
376 /*
377 #define IOCTL_MOUNTDEV_QUERY_STABLE_GUID \
378 CTL_CODE(MOUNTDEVCONTROLTYPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
379 */
380
381 // ntdddisk.h
382 #define IOCTL_DISK_PERFORMANCE_OFF \
383 CTL_CODE(IOCTL_DISK_BASE, 0x0018, METHOD_BUFFERED, FILE_ANY_ACCESS)
384 /*
385 #define IOCTL_DISK_GET_PARTITION_INFO_EX \
386 CTL_CODE(IOCTL_DISK_BASE, 0x0012, METHOD_BUFFERED, FILE_ANY_ACCESS)
387 */
388 #define IOCTL_DISK_SET_PARTITION_INFO_EX \
389 CTL_CODE(IOCTL_DISK_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
390 #define IOCTL_DISK_GET_DRIVE_LAYOUT_EX \
391 CTL_CODE(IOCTL_DISK_BASE, 0x0014, METHOD_BUFFERED, FILE_ANY_ACCESS)
392 #define IOCTL_DISK_SET_DRIVE_LAYOUT_EX \
393 CTL_CODE(IOCTL_DISK_BASE, 0x0015, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
394 #define IOCTL_DISK_CREATE_DISK \
395 CTL_CODE(IOCTL_DISK_BASE, 0x0016, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
396 /*
397 #define IOCTL_DISK_GET_LENGTH_INFO \
398 CTL_CODE(IOCTL_DISK_BASE, 0x0017, METHOD_BUFFERED, FILE_READ_ACCESS)
399 */
400 #define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX \
401 CTL_CODE(IOCTL_DISK_BASE, 0x0028, METHOD_BUFFERED, FILE_ANY_ACCESS)
402 #define IOCTL_DISK_GET_WRITE_CACHE_STATE \
403 CTL_CODE(IOCTL_DISK_BASE, 0x0037, METHOD_BUFFERED, FILE_READ_ACCESS)
404 #define IOCTL_DISK_UPDATE_PROPERTIES \
405 CTL_CODE(IOCTL_DISK_BASE, 0x0050, METHOD_BUFFERED, FILE_ANY_ACCESS)
406
407 // ntddstor.h
408 #define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER \
409 CTL_CODE(IOCTL_STORAGE_BASE, 0x0304, METHOD_BUFFERED, FILE_ANY_ACCESS)
410 /*
411 #define IOCTL_STORAGE_GET_HOTPLUG_INFO \
412 CTL_CODE(IOCTL_STORAGE_BASE, 0x0305, METHOD_BUFFERED, FILE_ANY_ACCESS)
413 */
414 #define IOCTL_STORAGE_SET_HOTPLUG_INFO \
415 CTL_CODE(IOCTL_STORAGE_BASE, 0x0306, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
416 #define IOCTL_STORAGE_BREAK_RESERVATION \
417 CTL_CODE(IOCTL_STORAGE_BASE, 0x0405, METHOD_BUFFERED, FILE_READ_ACCESS)
418
419 // ntddvol.h
420 #define IOCTL_VOLUME_IS_PARTITION \
421 CTL_CODE(IOCTL_VOLUME_BASE, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
422 #define IOCTL_VOLUME_READ_PLEX \
423 CTL_CODE(IOCTL_VOLUME_BASE, 11, METHOD_OUT_DIRECT, FILE_READ_ACCESS)
424 #define IOCTL_VOLUME_IS_CLUSTERED \
425 CTL_CODE(IOCTL_VOLUME_BASE, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
426 #define IOCTL_VOLUME_SET_GPT_ATTRIBUTES \
427 CTL_CODE(IOCTL_VOLUME_BASE, 13, METHOD_BUFFERED, FILE_ANY_ACCESS)
428 #define IOCTL_VOLUME_GET_GPT_ATTRIBUTES \
429 CTL_CODE(IOCTL_VOLUME_BASE, 14, METHOD_BUFFERED, FILE_ANY_ACCESS)
430
431 #endif // (VER_PRODUCTBUILD < 2600)
432
433 PCSTR
434 GetIoControlName(
435 ULONG ctrl_code)
436 {
437 static CHAR buf[20];
438
439 switch (ctrl_code) {
440 //
441 // VFD control codes
442 //
443 CASE_RETURN_STR(IOCTL_VFD_OPEN_IMAGE);
444 CASE_RETURN_STR(IOCTL_VFD_CLOSE_IMAGE);
445 CASE_RETURN_STR(IOCTL_VFD_QUERY_IMAGE);
446 CASE_RETURN_STR(IOCTL_VFD_SET_LINK);
447 CASE_RETURN_STR(IOCTL_VFD_QUERY_LINK);
448 CASE_RETURN_STR(IOCTL_VFD_SET_PROTECT);
449 CASE_RETURN_STR(IOCTL_VFD_CLEAR_PROTECT);
450 CASE_RETURN_STR(IOCTL_VFD_RESET_MODIFY);
451 CASE_RETURN_STR(IOCTL_VFD_QUERY_NUMBER);
452 CASE_RETURN_STR(IOCTL_VFD_QUERY_NAME);
453 CASE_RETURN_STR(IOCTL_VFD_QUERY_VERSION);
454
455 //
456 // Standard control codes
457 //
458 // mountmgr.h
459 CASE_RETURN_STR(IOCTL_MOUNTMGR_CREATE_POINT);
460 CASE_RETURN_STR(IOCTL_MOUNTMGR_DELETE_POINTS);
461 CASE_RETURN_STR(IOCTL_MOUNTMGR_QUERY_POINTS);
462 CASE_RETURN_STR(IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY);
463 CASE_RETURN_STR(IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER);
464 CASE_RETURN_STR(IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS);
465 CASE_RETURN_STR(IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED);
466 CASE_RETURN_STR(IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED);
467 CASE_RETURN_STR(IOCTL_MOUNTMGR_CHANGE_NOTIFY);
468 CASE_RETURN_STR(IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE);
469 CASE_RETURN_STR(IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES);
470 CASE_RETURN_STR(IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION);
471 CASE_RETURN_STR(IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH);
472 CASE_RETURN_STR(IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATHS);
473 CASE_RETURN_STR(IOCTL_MOUNTDEV_QUERY_DEVICE_NAME);
474
475 // mountdev.h
476 CASE_RETURN_STR(IOCTL_MOUNTDEV_QUERY_UNIQUE_ID);
477 CASE_RETURN_STR(IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY);
478 CASE_RETURN_STR(IOCTL_MOUNTDEV_QUERY_SUGGESTED_LINK_NAME);
479 CASE_RETURN_STR(IOCTL_MOUNTDEV_LINK_CREATED);
480 CASE_RETURN_STR(IOCTL_MOUNTDEV_LINK_DELETED);
481 CASE_RETURN_STR(IOCTL_MOUNTDEV_QUERY_STABLE_GUID);
482
483 // ntdddisk.h
484 CASE_RETURN_STR(IOCTL_DISK_GET_DRIVE_GEOMETRY);
485 CASE_RETURN_STR(IOCTL_DISK_GET_PARTITION_INFO);
486 CASE_RETURN_STR(IOCTL_DISK_SET_PARTITION_INFO);
487 CASE_RETURN_STR(IOCTL_DISK_GET_DRIVE_LAYOUT);
488 CASE_RETURN_STR(IOCTL_DISK_SET_DRIVE_LAYOUT);
489 CASE_RETURN_STR(IOCTL_DISK_VERIFY);
490 CASE_RETURN_STR(IOCTL_DISK_FORMAT_TRACKS);
491 CASE_RETURN_STR(IOCTL_DISK_REASSIGN_BLOCKS);
492 CASE_RETURN_STR(IOCTL_DISK_PERFORMANCE);
493 CASE_RETURN_STR(IOCTL_DISK_IS_WRITABLE);
494 CASE_RETURN_STR(IOCTL_DISK_LOGGING);
495 CASE_RETURN_STR(IOCTL_DISK_FORMAT_TRACKS_EX);
496 CASE_RETURN_STR(IOCTL_DISK_HISTOGRAM_STRUCTURE);
497 CASE_RETURN_STR(IOCTL_DISK_HISTOGRAM_DATA);
498 CASE_RETURN_STR(IOCTL_DISK_HISTOGRAM_RESET);
499 CASE_RETURN_STR(IOCTL_DISK_REQUEST_STRUCTURE);
500 CASE_RETURN_STR(IOCTL_DISK_REQUEST_DATA);
501 CASE_RETURN_STR(IOCTL_DISK_PERFORMANCE_OFF);
502 CASE_RETURN_STR(IOCTL_DISK_CONTROLLER_NUMBER);
503 CASE_RETURN_STR(SMART_GET_VERSION);
504 CASE_RETURN_STR(SMART_SEND_DRIVE_COMMAND);
505 CASE_RETURN_STR(SMART_RCV_DRIVE_DATA);
506 CASE_RETURN_STR(IOCTL_DISK_GET_PARTITION_INFO_EX);
507 CASE_RETURN_STR(IOCTL_DISK_SET_PARTITION_INFO_EX);
508 CASE_RETURN_STR(IOCTL_DISK_GET_DRIVE_LAYOUT_EX);
509 CASE_RETURN_STR(IOCTL_DISK_SET_DRIVE_LAYOUT_EX);
510 CASE_RETURN_STR(IOCTL_DISK_CREATE_DISK);
511 CASE_RETURN_STR(IOCTL_DISK_GET_LENGTH_INFO);
512 CASE_RETURN_STR(IOCTL_DISK_GET_DRIVE_GEOMETRY_EX);
513 CASE_RETURN_STR(IOCTL_DISK_UPDATE_DRIVE_SIZE);
514 CASE_RETURN_STR(IOCTL_DISK_GROW_PARTITION);
515 CASE_RETURN_STR(IOCTL_DISK_GET_CACHE_INFORMATION);
516 CASE_RETURN_STR(IOCTL_DISK_SET_CACHE_INFORMATION);
517 #if (NTDDI_VERSION < NTDDI_WS03)
518 CASE_RETURN_STR(IOCTL_DISK_GET_WRITE_CACHE_STATE);
519 #else
520 CASE_RETURN_STR(OBSOLETE_DISK_GET_WRITE_CACHE_STATE);
521 #endif
522 CASE_RETURN_STR(IOCTL_DISK_DELETE_DRIVE_LAYOUT);
523 CASE_RETURN_STR(IOCTL_DISK_UPDATE_PROPERTIES);
524 CASE_RETURN_STR(IOCTL_DISK_FORMAT_DRIVE);
525 CASE_RETURN_STR(IOCTL_DISK_SENSE_DEVICE);
526 CASE_RETURN_STR(IOCTL_DISK_INTERNAL_SET_VERIFY);
527 CASE_RETURN_STR(IOCTL_DISK_INTERNAL_CLEAR_VERIFY);
528 CASE_RETURN_STR(IOCTL_DISK_INTERNAL_SET_NOTIFY);
529 CASE_RETURN_STR(IOCTL_DISK_CHECK_VERIFY);
530 CASE_RETURN_STR(IOCTL_DISK_MEDIA_REMOVAL);
531 CASE_RETURN_STR(IOCTL_DISK_EJECT_MEDIA);
532 CASE_RETURN_STR(IOCTL_DISK_LOAD_MEDIA);
533 CASE_RETURN_STR(IOCTL_DISK_RESERVE);
534 CASE_RETURN_STR(IOCTL_DISK_RELEASE);
535 CASE_RETURN_STR(IOCTL_DISK_FIND_NEW_DEVICES);
536 CASE_RETURN_STR(IOCTL_DISK_GET_MEDIA_TYPES);
537 CASE_RETURN_STR(IOCTL_DISK_SIMBAD);
538
539 #ifndef __REACTOS__
540 // ntddft.h
541 CASE_RETURN_STR(FT_INITIALIZE_SET);
542 CASE_RETURN_STR(FT_REGENERATE);
543 CASE_RETURN_STR(FT_CONFIGURE);
544 CASE_RETURN_STR(FT_VERIFY);
545 CASE_RETURN_STR(FT_SECONDARY_READ);
546 CASE_RETURN_STR(FT_PRIMARY_READ);
547 CASE_RETURN_STR(FT_BALANCED_READ_MODE);
548 CASE_RETURN_STR(FT_SYNC_REDUNDANT_COPY);
549 CASE_RETURN_STR(FT_SEQUENTIAL_WRITE_MODE);
550 CASE_RETURN_STR(FT_PARALLEL_WRITE_MODE);
551 CASE_RETURN_STR(FT_QUERY_SET_STATE);
552 CASE_RETURN_STR(FT_CLUSTER_SET_MEMBER_STATE);
553 CASE_RETURN_STR(FT_CLUSTER_GET_MEMBER_STATE);
554
555 // ntddft2.h
556 CASE_RETURN_STR(FT_CREATE_LOGICAL_DISK);
557 CASE_RETURN_STR(FT_BREAK_LOGICAL_DISK);
558 CASE_RETURN_STR(FT_ENUMERATE_LOGICAL_DISKS);
559 CASE_RETURN_STR(FT_QUERY_LOGICAL_DISK_INFORMATION);
560 CASE_RETURN_STR(FT_ORPHAN_LOGICAL_DISK_MEMBER);
561 CASE_RETURN_STR(FT_REPLACE_LOGICAL_DISK_MEMBER);
562 CASE_RETURN_STR(FT_QUERY_NT_DEVICE_NAME_FOR_LOGICAL_DISK);
563 CASE_RETURN_STR(FT_INITIALIZE_LOGICAL_DISK);
564 CASE_RETURN_STR(FT_QUERY_DRIVE_LETTER_FOR_LOGICAL_DISK);
565 CASE_RETURN_STR(FT_CHECK_IO);
566 CASE_RETURN_STR(FT_SET_DRIVE_LETTER_FOR_LOGICAL_DISK);
567 CASE_RETURN_STR(FT_QUERY_NT_DEVICE_NAME_FOR_PARTITION);
568 CASE_RETURN_STR(FT_CHANGE_NOTIFY);
569 CASE_RETURN_STR(FT_STOP_SYNC_OPERATIONS);
570 CASE_RETURN_STR(FT_QUERY_LOGICAL_DISK_ID);
571 CASE_RETURN_STR(FT_CREATE_PARTITION_LOGICAL_DISK);
572 #endif
573
574 // ntddstor.h
575 CASE_RETURN_STR(IOCTL_STORAGE_CHECK_VERIFY);
576 CASE_RETURN_STR(IOCTL_STORAGE_CHECK_VERIFY2);
577 CASE_RETURN_STR(IOCTL_STORAGE_MEDIA_REMOVAL);
578 CASE_RETURN_STR(IOCTL_STORAGE_EJECT_MEDIA);
579 CASE_RETURN_STR(IOCTL_STORAGE_LOAD_MEDIA);
580 CASE_RETURN_STR(IOCTL_STORAGE_LOAD_MEDIA2);
581 CASE_RETURN_STR(IOCTL_STORAGE_RESERVE);
582 CASE_RETURN_STR(IOCTL_STORAGE_RELEASE);
583 CASE_RETURN_STR(IOCTL_STORAGE_FIND_NEW_DEVICES);
584 CASE_RETURN_STR(IOCTL_STORAGE_EJECTION_CONTROL);
585 CASE_RETURN_STR(IOCTL_STORAGE_MCN_CONTROL);
586 CASE_RETURN_STR(IOCTL_STORAGE_GET_MEDIA_TYPES);
587 CASE_RETURN_STR(IOCTL_STORAGE_GET_MEDIA_TYPES_EX);
588 CASE_RETURN_STR(IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER);
589 CASE_RETURN_STR(IOCTL_STORAGE_GET_HOTPLUG_INFO);
590 CASE_RETURN_STR(IOCTL_STORAGE_SET_HOTPLUG_INFO);
591 CASE_RETURN_STR(IOCTL_STORAGE_RESET_BUS);
592 CASE_RETURN_STR(IOCTL_STORAGE_RESET_DEVICE);
593 CASE_RETURN_STR(IOCTL_STORAGE_BREAK_RESERVATION);
594 CASE_RETURN_STR(IOCTL_STORAGE_GET_DEVICE_NUMBER);
595 CASE_RETURN_STR(IOCTL_STORAGE_PREDICT_FAILURE);
596 CASE_RETURN_STR(IOCTL_STORAGE_QUERY_PROPERTY);
597 CASE_RETURN_STR(OBSOLETE_IOCTL_STORAGE_RESET_BUS);
598 CASE_RETURN_STR(OBSOLETE_IOCTL_STORAGE_RESET_DEVICE);
599
600 // ntddvol.h
601 CASE_RETURN_STR(IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS);
602 CASE_RETURN_STR(IOCTL_VOLUME_IS_CLUSTERED);
603 CASE_RETURN_STR(IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE);
604 CASE_RETURN_STR(IOCTL_VOLUME_ONLINE);
605 CASE_RETURN_STR(IOCTL_VOLUME_OFFLINE);
606 CASE_RETURN_STR(IOCTL_VOLUME_IS_OFFLINE);
607 CASE_RETURN_STR(IOCTL_VOLUME_IS_IO_CAPABLE);
608 CASE_RETURN_STR(IOCTL_VOLUME_QUERY_FAILOVER_SET);
609 CASE_RETURN_STR(IOCTL_VOLUME_QUERY_VOLUME_NUMBER);
610 CASE_RETURN_STR(IOCTL_VOLUME_LOGICAL_TO_PHYSICAL);
611 CASE_RETURN_STR(IOCTL_VOLUME_PHYSICAL_TO_LOGICAL);
612 CASE_RETURN_STR(IOCTL_VOLUME_IS_PARTITION);
613 CASE_RETURN_STR(IOCTL_VOLUME_READ_PLEX);
614 CASE_RETURN_STR(IOCTL_VOLUME_SET_GPT_ATTRIBUTES);
615 CASE_RETURN_STR(IOCTL_VOLUME_GET_GPT_ATTRIBUTES);
616
617 default:
618 buf[sizeof(buf) - 1] = '\0';
619 _snprintf(buf, sizeof(buf) - 1,
620 // sprintf(buf,
621 "Unknown IOCTL: 0x%08x", ctrl_code);
622 return buf;
623 }
624 }
625
626 #if (VER_PRODUCTBUILD < 2195)
627 //
628 // from new <ntstatus.h>
629 //
630 #define FACILITY_USB_ERROR_CODE 0x10
631 #define FACILITY_TERMINAL_SERVER 0xA
632 #define FACILITY_HID_ERROR_CODE 0x11
633 #define FACILITY_FIREWIRE_ERROR_CODE 0x12
634 #define FACILITY_DEBUGGER 0x1
635 #define FACILITY_CLUSTER_ERROR_CODE 0x13
636 #define FACILITY_ACPI_ERROR_CODE 0x14
637 #define STATUS_RESOURCE_REQUIREMENTS_CHANGED ((NTSTATUS)0x00000119L)
638 #define STATUS_TRANSLATION_COMPLETE ((NTSTATUS)0x00000120L)
639 #define STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY ((NTSTATUS)0x00000121L)
640 #define DBG_EXCEPTION_HANDLED ((NTSTATUS)0x00010001L)
641 #define DBG_CONTINUE ((NTSTATUS)0x00010002L)
642 #define STATUS_ARBITRATION_UNHANDLED ((NTSTATUS)0x40000026L)
643 #define STATUS_CARDBUS_NOT_SUPPORTED ((NTSTATUS)0x40000027L)
644 #define STATUS_WX86_CREATEWX86TIB ((NTSTATUS)0x40000028L)
645 #define STATUS_MP_PROCESSOR_MISMATCH ((NTSTATUS)0x40000029L)
646 #define DBG_REPLY_LATER ((NTSTATUS)0x40010001L)
647 #define DBG_UNABLE_TO_PROVIDE_HANDLE ((NTSTATUS)0x40010002L)
648 #define DBG_TERMINATE_THREAD ((NTSTATUS)0x40010003L)
649 #define DBG_TERMINATE_PROCESS ((NTSTATUS)0x40010004L)
650 #define DBG_CONTROL_C ((NTSTATUS)0x40010005L)
651 #define DBG_PRINTEXCEPTION_C ((NTSTATUS)0x40010006L)
652 #define DBG_RIPEXCEPTION ((NTSTATUS)0x40010007L)
653 #define DBG_CONTROL_BREAK ((NTSTATUS)0x40010008L)
654 #define DBG_EXCEPTION_NOT_HANDLED ((NTSTATUS)0x80010001L)
655 #define STATUS_VALIDATE_CONTINUE ((NTSTATUS)0xC0000271L)
656 #define STATUS_NO_MATCH ((NTSTATUS)0xC0000272L)
657 #define STATUS_NO_MORE_MATCHES ((NTSTATUS)0xC0000273L)
658 #define STATUS_NOT_A_REPARSE_POINT ((NTSTATUS)0xC0000275L)
659 #define STATUS_IO_REPARSE_TAG_INVALID ((NTSTATUS)0xC0000276L)
660 #define STATUS_IO_REPARSE_TAG_MISMATCH ((NTSTATUS)0xC0000277L)
661 #define STATUS_IO_REPARSE_DATA_INVALID ((NTSTATUS)0xC0000278L)
662 #define STATUS_IO_REPARSE_TAG_NOT_HANDLED ((NTSTATUS)0xC0000279L)
663 #define STATUS_REPARSE_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000280L)
664 #define STATUS_DIRECTORY_IS_A_REPARSE_POINT ((NTSTATUS)0xC0000281L)
665 #define STATUS_RANGE_LIST_CONFLICT ((NTSTATUS)0xC0000282L)
666 #define STATUS_SOURCE_ELEMENT_EMPTY ((NTSTATUS)0xC0000283L)
667 #define STATUS_DESTINATION_ELEMENT_FULL ((NTSTATUS)0xC0000284L)
668 #define STATUS_ILLEGAL_ELEMENT_ADDRESS ((NTSTATUS)0xC0000285L)
669 #define STATUS_MAGAZINE_NOT_PRESENT ((NTSTATUS)0xC0000286L)
670 #define STATUS_REINITIALIZATION_NEEDED ((NTSTATUS)0xC0000287L)
671 #define STATUS_DEVICE_REQUIRES_CLEANING ((NTSTATUS)0x80000288L)
672 #define STATUS_DEVICE_DOOR_OPEN ((NTSTATUS)0x80000289L)
673 #define STATUS_ENCRYPTION_FAILED ((NTSTATUS)0xC000028AL)
674 #define STATUS_DECRYPTION_FAILED ((NTSTATUS)0xC000028BL)
675 #define STATUS_RANGE_NOT_FOUND ((NTSTATUS)0xC000028CL)
676 #define STATUS_NO_RECOVERY_POLICY ((NTSTATUS)0xC000028DL)
677 #define STATUS_NO_EFS ((NTSTATUS)0xC000028EL)
678 #define STATUS_WRONG_EFS ((NTSTATUS)0xC000028FL)
679 #define STATUS_NO_USER_KEYS ((NTSTATUS)0xC0000290L)
680 #define STATUS_FILE_NOT_ENCRYPTED ((NTSTATUS)0xC0000291L)
681 #define STATUS_NOT_EXPORT_FORMAT ((NTSTATUS)0xC0000292L)
682 #define STATUS_FILE_ENCRYPTED ((NTSTATUS)0xC0000293L)
683 #define STATUS_WAKE_SYSTEM ((NTSTATUS)0x40000294L)
684 #define STATUS_WMI_GUID_NOT_FOUND ((NTSTATUS)0xC0000295L)
685 #define STATUS_WMI_INSTANCE_NOT_FOUND ((NTSTATUS)0xC0000296L)
686 #define STATUS_WMI_ITEMID_NOT_FOUND ((NTSTATUS)0xC0000297L)
687 #define STATUS_WMI_TRY_AGAIN ((NTSTATUS)0xC0000298L)
688 #define STATUS_SHARED_POLICY ((NTSTATUS)0xC0000299L)
689 #define STATUS_POLICY_OBJECT_NOT_FOUND ((NTSTATUS)0xC000029AL)
690 #define STATUS_POLICY_ONLY_IN_DS ((NTSTATUS)0xC000029BL)
691 #define STATUS_VOLUME_NOT_UPGRADED ((NTSTATUS)0xC000029CL)
692 #define STATUS_REMOTE_STORAGE_NOT_ACTIVE ((NTSTATUS)0xC000029DL)
693 #define STATUS_REMOTE_STORAGE_MEDIA_ERROR ((NTSTATUS)0xC000029EL)
694 #define STATUS_NO_TRACKING_SERVICE ((NTSTATUS)0xC000029FL)
695 #define STATUS_SERVER_SID_MISMATCH ((NTSTATUS)0xC00002A0L)
696 #define STATUS_DS_NO_ATTRIBUTE_OR_VALUE ((NTSTATUS)0xC00002A1L)
697 #define STATUS_DS_INVALID_ATTRIBUTE_SYNTAX ((NTSTATUS)0xC00002A2L)
698 #define STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED ((NTSTATUS)0xC00002A3L)
699 #define STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS ((NTSTATUS)0xC00002A4L)
700 #define STATUS_DS_BUSY ((NTSTATUS)0xC00002A5L)
701 #define STATUS_DS_UNAVAILABLE ((NTSTATUS)0xC00002A6L)
702 #define STATUS_DS_NO_RIDS_ALLOCATED ((NTSTATUS)0xC00002A7L)
703 #define STATUS_DS_NO_MORE_RIDS ((NTSTATUS)0xC00002A8L)
704 #define STATUS_DS_INCORRECT_ROLE_OWNER ((NTSTATUS)0xC00002A9L)
705 #define STATUS_DS_RIDMGR_INIT_ERROR ((NTSTATUS)0xC00002AAL)
706 #define STATUS_DS_OBJ_CLASS_VIOLATION ((NTSTATUS)0xC00002ABL)
707 #define STATUS_DS_CANT_ON_NON_LEAF ((NTSTATUS)0xC00002ACL)
708 #define STATUS_DS_CANT_ON_RDN ((NTSTATUS)0xC00002ADL)
709 #define STATUS_DS_CANT_MOD_OBJ_CLASS ((NTSTATUS)0xC00002AEL)
710 #define STATUS_DS_CROSS_DOM_MOVE_FAILED ((NTSTATUS)0xC00002AFL)
711 #define STATUS_DS_GC_NOT_AVAILABLE ((NTSTATUS)0xC00002B0L)
712 #define STATUS_DIRECTORY_SERVICE_REQUIRED ((NTSTATUS)0xC00002B1L)
713 #define STATUS_REPARSE_ATTRIBUTE_CONFLICT ((NTSTATUS)0xC00002B2L)
714 #define STATUS_CANT_ENABLE_DENY_ONLY ((NTSTATUS)0xC00002B3L)
715 #define STATUS_FLOAT_MULTIPLE_FAULTS ((NTSTATUS)0xC00002B4L)
716 #define STATUS_FLOAT_MULTIPLE_TRAPS ((NTSTATUS)0xC00002B5L)
717 #define STATUS_DEVICE_REMOVED ((NTSTATUS)0xC00002B6L)
718 #define STATUS_JOURNAL_DELETE_IN_PROGRESS ((NTSTATUS)0xC00002B7L)
719 #define STATUS_JOURNAL_NOT_ACTIVE ((NTSTATUS)0xC00002B8L)
720 #define STATUS_NOINTERFACE ((NTSTATUS)0xC00002B9L)
721 #define STATUS_DS_ADMIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00002C1L)
722 #define STATUS_DRIVER_FAILED_SLEEP ((NTSTATUS)0xC00002C2L)
723 #define STATUS_MUTUAL_AUTHENTICATION_FAILED ((NTSTATUS)0xC00002C3L)
724 #define STATUS_CORRUPT_SYSTEM_FILE ((NTSTATUS)0xC00002C4L)
725 #define STATUS_DATATYPE_MISALIGNMENT_ERROR ((NTSTATUS)0xC00002C5L)
726 #define STATUS_WMI_READ_ONLY ((NTSTATUS)0xC00002C6L)
727 #define STATUS_WMI_SET_FAILURE ((NTSTATUS)0xC00002C7L)
728 #define STATUS_COMMITMENT_MINIMUM ((NTSTATUS)0xC00002C8L)
729 #define STATUS_REG_NAT_CONSUMPTION ((NTSTATUS)0xC00002C9L)
730 #define STATUS_TRANSPORT_FULL ((NTSTATUS)0xC00002CAL)
731 #define STATUS_DS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002CBL)
732 #define STATUS_ONLY_IF_CONNECTED ((NTSTATUS)0xC00002CCL)
733 #define STATUS_DS_SENSITIVE_GROUP_VIOLATION ((NTSTATUS)0xC00002CDL)
734 #define STATUS_PNP_RESTART_ENUMERATION ((NTSTATUS)0xC00002CEL)
735 #define STATUS_JOURNAL_ENTRY_DELETED ((NTSTATUS)0xC00002CFL)
736 #define STATUS_DS_CANT_MOD_PRIMARYGROUPID ((NTSTATUS)0xC00002D0L)
737 #define STATUS_SYSTEM_IMAGE_BAD_SIGNATURE ((NTSTATUS)0xC00002D1L)
738 #define STATUS_PNP_REBOOT_REQUIRED ((NTSTATUS)0xC00002D2L)
739 #define STATUS_POWER_STATE_INVALID ((NTSTATUS)0xC00002D3L)
740 #define STATUS_DS_INVALID_GROUP_TYPE ((NTSTATUS)0xC00002D4L)
741 #define STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D5L)
742 #define STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D6L)
743 #define STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D7L)
744 #define STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC00002D8L)
745 #define STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D9L)
746 #define STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER ((NTSTATUS)0xC00002DAL)
747 #define STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER ((NTSTATUS)0xC00002DBL)
748 #define STATUS_DS_HAVE_PRIMARY_MEMBERS ((NTSTATUS)0xC00002DCL)
749 #define STATUS_WMI_NOT_SUPPORTED ((NTSTATUS)0xC00002DDL)
750 #define STATUS_INSUFFICIENT_POWER ((NTSTATUS)0xC00002DEL)
751 #define STATUS_SAM_NEED_BOOTKEY_PASSWORD ((NTSTATUS)0xC00002DFL)
752 #define STATUS_SAM_NEED_BOOTKEY_FLOPPY ((NTSTATUS)0xC00002E0L)
753 #define STATUS_DS_CANT_START ((NTSTATUS)0xC00002E1L)
754 #define STATUS_DS_INIT_FAILURE ((NTSTATUS)0xC00002E2L)
755 #define STATUS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002E3L)
756 #define STATUS_DS_GC_REQUIRED ((NTSTATUS)0xC00002E4L)
757 #define STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY ((NTSTATUS)0xC00002E5L)
758 #define STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS ((NTSTATUS)0xC00002E6L)
759 #define STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED ((NTSTATUS)0xC00002E7L)
760 #define STATUS_MULTIPLE_FAULT_VIOLATION ((NTSTATUS)0xC00002E8L)
761 #define STATUS_NOT_SUPPORTED_ON_SBS ((NTSTATUS)0xC0000300L)
762 #define DBG_NO_STATE_CHANGE ((NTSTATUS)0xC0010001L)
763 #define DBG_APP_NOT_IDLE ((NTSTATUS)0xC0010002L)
764 #define RPC_NT_PIPE_CLOSED ((NTSTATUS)0xC003005FL)
765 #define RPC_NT_PIPE_DISCIPLINE_ERROR ((NTSTATUS)0xC0030060L)
766 #define RPC_NT_PIPE_EMPTY ((NTSTATUS)0xC0030061L)
767 #define RPC_NT_INVALID_ASYNC_HANDLE ((NTSTATUS)0xC0020062L)
768 #define RPC_NT_INVALID_ASYNC_CALL ((NTSTATUS)0xC0020063L)
769 #define STATUS_ACPI_INVALID_OPCODE ((NTSTATUS)0xC0140001L)
770 #define STATUS_ACPI_STACK_OVERFLOW ((NTSTATUS)0xC0140002L)
771 #define STATUS_ACPI_ASSERT_FAILED ((NTSTATUS)0xC0140003L)
772 #define STATUS_ACPI_INVALID_INDEX ((NTSTATUS)0xC0140004L)
773 #define STATUS_ACPI_INVALID_ARGUMENT ((NTSTATUS)0xC0140005L)
774 #define STATUS_ACPI_FATAL ((NTSTATUS)0xC0140006L)
775 #define STATUS_ACPI_INVALID_SUPERNAME ((NTSTATUS)0xC0140007L)
776 #define STATUS_ACPI_INVALID_ARGTYPE ((NTSTATUS)0xC0140008L)
777 #define STATUS_ACPI_INVALID_OBJTYPE ((NTSTATUS)0xC0140009L)
778 #define STATUS_ACPI_INVALID_TARGETTYPE ((NTSTATUS)0xC014000AL)
779 #define STATUS_ACPI_INCORRECT_ARGUMENT_COUNT ((NTSTATUS)0xC014000BL)
780 #define STATUS_ACPI_ADDRESS_NOT_MAPPED ((NTSTATUS)0xC014000CL)
781 #define STATUS_ACPI_INVALID_EVENTTYPE ((NTSTATUS)0xC014000DL)
782 #define STATUS_ACPI_HANDLER_COLLISION ((NTSTATUS)0xC014000EL)
783 #define STATUS_ACPI_INVALID_DATA ((NTSTATUS)0xC014000FL)
784 #define STATUS_ACPI_INVALID_REGION ((NTSTATUS)0xC0140010L)
785 #define STATUS_ACPI_INVALID_ACCESS_SIZE ((NTSTATUS)0xC0140011L)
786 #define STATUS_ACPI_ACQUIRE_GLOBAL_LOCK ((NTSTATUS)0xC0140012L)
787 #define STATUS_ACPI_ALREADY_INITIALIZED ((NTSTATUS)0xC0140013L)
788 #define STATUS_ACPI_NOT_INITIALIZED ((NTSTATUS)0xC0140014L)
789 #define STATUS_ACPI_INVALID_MUTEX_LEVEL ((NTSTATUS)0xC0140015L)
790 #define STATUS_ACPI_MUTEX_NOT_OWNED ((NTSTATUS)0xC0140016L)
791 #define STATUS_ACPI_MUTEX_NOT_OWNER ((NTSTATUS)0xC0140017L)
792 #define STATUS_ACPI_RS_ACCESS ((NTSTATUS)0xC0140018L)
793 #define STATUS_ACPI_INVALID_TABLE ((NTSTATUS)0xC0140019L)
794 #define STATUS_ACPI_REG_HANDLER_FAILED ((NTSTATUS)0xC0140020L)
795 #define STATUS_ACPI_POWER_REQUEST_FAILED ((NTSTATUS)0xC0140021L)
796 #define STATUS_CTX_WINSTATION_NAME_INVALID ((NTSTATUS)0xC00A0001L)
797 #define STATUS_CTX_INVALID_PD ((NTSTATUS)0xC00A0002L)
798 #define STATUS_CTX_PD_NOT_FOUND ((NTSTATUS)0xC00A0003L)
799 #define STATUS_CTX_CDM_CONNECT ((NTSTATUS)0x400A0004L)
800 #define STATUS_CTX_CDM_DISCONNECT ((NTSTATUS)0x400A0005L)
801 #define STATUS_CTX_CLOSE_PENDING ((NTSTATUS)0xC00A0006L)
802 #define STATUS_CTX_NO_OUTBUF ((NTSTATUS)0xC00A0007L)
803 #define STATUS_CTX_MODEM_INF_NOT_FOUND ((NTSTATUS)0xC00A0008L)
804 #define STATUS_CTX_INVALID_MODEMNAME ((NTSTATUS)0xC00A0009L)
805 #define STATUS_CTX_RESPONSE_ERROR ((NTSTATUS)0xC00A000AL)
806 #define STATUS_CTX_MODEM_RESPONSE_TIMEOUT ((NTSTATUS)0xC00A000BL)
807 #define STATUS_CTX_MODEM_RESPONSE_NO_CARRIER ((NTSTATUS)0xC00A000CL)
808 #define STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE ((NTSTATUS)0xC00A000DL)
809 #define STATUS_CTX_MODEM_RESPONSE_BUSY ((NTSTATUS)0xC00A000EL)
810 #define STATUS_CTX_MODEM_RESPONSE_VOICE ((NTSTATUS)0xC00A000FL)
811 #define STATUS_CTX_TD_ERROR ((NTSTATUS)0xC00A0010L)
812 #define STATUS_CTX_LICENSE_CLIENT_INVALID ((NTSTATUS)0xC00A0012L)
813 #define STATUS_CTX_LICENSE_NOT_AVAILABLE ((NTSTATUS)0xC00A0013L)
814 #define STATUS_CTX_LICENSE_EXPIRED ((NTSTATUS)0xC00A0014L)
815 #define STATUS_CTX_WINSTATION_NOT_FOUND ((NTSTATUS)0xC00A0015L)
816 #define STATUS_CTX_WINSTATION_NAME_COLLISION ((NTSTATUS)0xC00A0016L)
817 #define STATUS_CTX_WINSTATION_BUSY ((NTSTATUS)0xC00A0017L)
818 #define STATUS_CTX_BAD_VIDEO_MODE ((NTSTATUS)0xC00A0018L)
819 #define STATUS_CTX_GRAPHICS_INVALID ((NTSTATUS)0xC00A0022L)
820 #define STATUS_CTX_NOT_CONSOLE ((NTSTATUS)0xC00A0024L)
821 #define STATUS_CTX_CLIENT_QUERY_TIMEOUT ((NTSTATUS)0xC00A0026L)
822 #define STATUS_CTX_CONSOLE_DISCONNECT ((NTSTATUS)0xC00A0027L)
823 #define STATUS_CTX_CONSOLE_CONNECT ((NTSTATUS)0xC00A0028L)
824 #define STATUS_CTX_SHADOW_DENIED ((NTSTATUS)0xC00A002AL)
825 #define STATUS_CTX_WINSTATION_ACCESS_DENIED ((NTSTATUS)0xC00A002BL)
826 #define STATUS_CTX_INVALID_WD ((NTSTATUS)0xC00A002EL)
827 #define STATUS_CTX_WD_NOT_FOUND ((NTSTATUS)0xC00A002FL)
828 #define STATUS_CTX_SHADOW_INVALID ((NTSTATUS)0xC00A0030L)
829 #define STATUS_CTX_SHADOW_DISABLED ((NTSTATUS)0xC00A0031L)
830 #define STATUS_RDP_PROTOCOL_ERROR ((NTSTATUS)0xC00A0032L)
831 #define STATUS_CTX_CLIENT_LICENSE_NOT_SET ((NTSTATUS)0xC00A0033L)
832 #define STATUS_CTX_CLIENT_LICENSE_IN_USE ((NTSTATUS)0xC00A0034L)
833 #define STATUS_PNP_BAD_MPS_TABLE ((NTSTATUS)0xC0040035L)
834 #define STATUS_PNP_TRANSLATION_FAILED ((NTSTATUS)0xC0040036L)
835 #define STATUS_PNP_IRQ_TRANSLATION_FAILED ((NTSTATUS)0xC0040037L)
836 #endif // VER_PRODUCTBUILD < 2195
837
838 static PCSTR
839 NtStatusToStr(
840 NTSTATUS status);
841
842 PCSTR
843 GetStatusName(
844 NTSTATUS status)
845 {
846 static CHAR statusName[80];
847 CHAR severity;
848
849 switch (status & 0xf0000000) {
850 case 0x00000000: severity = 'S'; break;
851 case 0x40000000: severity = 'I'; break;
852 case 0x80000000: severity = 'W'; break;
853 case 0xC0000000: severity = 'E'; break;
854 default: severity = '?';
855 }
856
857 statusName[sizeof(statusName) - 1] = '\0';
858 _snprintf(statusName, sizeof(statusName) - 1,
859 // sprintf(statusName,
860 "(%c)%s", severity, NtStatusToStr(status));
861
862 return statusName;
863 }
864
865 PCSTR
866 NtStatusToStr(
867 NTSTATUS status)
868 {
869 switch (status) {
870 CASE_RETURN_STR(STATUS_SUCCESS);
871 /*
872 CASE_RETURN_STR(STATUS_WAIT_0);
873 */
874 CASE_RETURN_STR(STATUS_WAIT_1);
875 CASE_RETURN_STR(STATUS_WAIT_2);
876 CASE_RETURN_STR(STATUS_WAIT_3);
877 CASE_RETURN_STR(STATUS_WAIT_63);
878 CASE_RETURN_STR(STATUS_ABANDONED);
879 /*
880 CASE_RETURN_STR(STATUS_ABANDONED_WAIT_0);
881 */
882 CASE_RETURN_STR(STATUS_ABANDONED_WAIT_63);
883 CASE_RETURN_STR(STATUS_USER_APC);
884 CASE_RETURN_STR(STATUS_KERNEL_APC);
885 CASE_RETURN_STR(STATUS_ALERTED);
886 CASE_RETURN_STR(STATUS_TIMEOUT);
887 CASE_RETURN_STR(STATUS_PENDING);
888 CASE_RETURN_STR(STATUS_REPARSE);
889 CASE_RETURN_STR(STATUS_MORE_ENTRIES);
890 CASE_RETURN_STR(STATUS_NOT_ALL_ASSIGNED);
891 CASE_RETURN_STR(STATUS_SOME_NOT_MAPPED);
892 CASE_RETURN_STR(STATUS_OPLOCK_BREAK_IN_PROGRESS);
893 CASE_RETURN_STR(STATUS_VOLUME_MOUNTED);
894 CASE_RETURN_STR(STATUS_RXACT_COMMITTED);
895 CASE_RETURN_STR(STATUS_NOTIFY_CLEANUP);
896 CASE_RETURN_STR(STATUS_NOTIFY_ENUM_DIR);
897 CASE_RETURN_STR(STATUS_NO_QUOTAS_FOR_ACCOUNT);
898 CASE_RETURN_STR(STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED);
899 CASE_RETURN_STR(STATUS_PAGE_FAULT_TRANSITION);
900 CASE_RETURN_STR(STATUS_PAGE_FAULT_DEMAND_ZERO);
901 CASE_RETURN_STR(STATUS_PAGE_FAULT_COPY_ON_WRITE);
902 CASE_RETURN_STR(STATUS_PAGE_FAULT_GUARD_PAGE);
903 CASE_RETURN_STR(STATUS_PAGE_FAULT_PAGING_FILE);
904 CASE_RETURN_STR(STATUS_CACHE_PAGE_LOCKED);
905 CASE_RETURN_STR(STATUS_CRASH_DUMP);
906 CASE_RETURN_STR(STATUS_BUFFER_ALL_ZEROS);
907 CASE_RETURN_STR(STATUS_REPARSE_OBJECT);
908 CASE_RETURN_STR(STATUS_RESOURCE_REQUIREMENTS_CHANGED);
909 CASE_RETURN_STR(STATUS_TRANSLATION_COMPLETE);
910 CASE_RETURN_STR(STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY);
911 CASE_RETURN_STR(DBG_EXCEPTION_HANDLED);
912 CASE_RETURN_STR(DBG_CONTINUE);
913 CASE_RETURN_STR(STATUS_OBJECT_NAME_EXISTS);
914 CASE_RETURN_STR(STATUS_THREAD_WAS_SUSPENDED);
915 CASE_RETURN_STR(STATUS_WORKING_SET_LIMIT_RANGE);
916 CASE_RETURN_STR(STATUS_IMAGE_NOT_AT_BASE);
917 CASE_RETURN_STR(STATUS_RXACT_STATE_CREATED);
918 CASE_RETURN_STR(STATUS_SEGMENT_NOTIFICATION);
919 CASE_RETURN_STR(STATUS_LOCAL_USER_SESSION_KEY);
920 CASE_RETURN_STR(STATUS_BAD_CURRENT_DIRECTORY);
921 CASE_RETURN_STR(STATUS_SERIAL_MORE_WRITES);
922 CASE_RETURN_STR(STATUS_REGISTRY_RECOVERED);
923 CASE_RETURN_STR(STATUS_FT_READ_RECOVERY_FROM_BACKUP);
924 CASE_RETURN_STR(STATUS_FT_WRITE_RECOVERY);
925 CASE_RETURN_STR(STATUS_SERIAL_COUNTER_TIMEOUT);
926 CASE_RETURN_STR(STATUS_NULL_LM_PASSWORD);
927 CASE_RETURN_STR(STATUS_IMAGE_MACHINE_TYPE_MISMATCH);
928 CASE_RETURN_STR(STATUS_RECEIVE_PARTIAL);
929 CASE_RETURN_STR(STATUS_RECEIVE_EXPEDITED);
930 CASE_RETURN_STR(STATUS_RECEIVE_PARTIAL_EXPEDITED);
931 CASE_RETURN_STR(STATUS_EVENT_DONE);
932 CASE_RETURN_STR(STATUS_EVENT_PENDING);
933 CASE_RETURN_STR(STATUS_CHECKING_FILE_SYSTEM);
934 CASE_RETURN_STR(STATUS_FATAL_APP_EXIT);
935 CASE_RETURN_STR(STATUS_PREDEFINED_HANDLE);
936 CASE_RETURN_STR(STATUS_WAS_UNLOCKED);
937 CASE_RETURN_STR(STATUS_SERVICE_NOTIFICATION);
938 CASE_RETURN_STR(STATUS_WAS_LOCKED);
939 CASE_RETURN_STR(STATUS_LOG_HARD_ERROR);
940 CASE_RETURN_STR(STATUS_ALREADY_WIN32);
941 CASE_RETURN_STR(STATUS_WX86_UNSIMULATE);
942 CASE_RETURN_STR(STATUS_WX86_CONTINUE);
943 CASE_RETURN_STR(STATUS_WX86_SINGLE_STEP);
944 CASE_RETURN_STR(STATUS_WX86_BREAKPOINT);
945 CASE_RETURN_STR(STATUS_WX86_EXCEPTION_CONTINUE);
946 CASE_RETURN_STR(STATUS_WX86_EXCEPTION_LASTCHANCE);
947 CASE_RETURN_STR(STATUS_WX86_EXCEPTION_CHAIN);
948 CASE_RETURN_STR(STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE);
949 CASE_RETURN_STR(STATUS_NO_YIELD_PERFORMED);
950 CASE_RETURN_STR(STATUS_TIMER_RESUME_IGNORED);
951 CASE_RETURN_STR(STATUS_ARBITRATION_UNHANDLED);
952 CASE_RETURN_STR(STATUS_CARDBUS_NOT_SUPPORTED);
953 CASE_RETURN_STR(STATUS_WX86_CREATEWX86TIB);
954 CASE_RETURN_STR(STATUS_MP_PROCESSOR_MISMATCH);
955 CASE_RETURN_STR(DBG_REPLY_LATER);
956 CASE_RETURN_STR(DBG_UNABLE_TO_PROVIDE_HANDLE);
957 CASE_RETURN_STR(DBG_TERMINATE_THREAD);
958 CASE_RETURN_STR(DBG_TERMINATE_PROCESS);
959 CASE_RETURN_STR(DBG_CONTROL_C);
960 CASE_RETURN_STR(DBG_PRINTEXCEPTION_C);
961 CASE_RETURN_STR(DBG_RIPEXCEPTION);
962 CASE_RETURN_STR(DBG_CONTROL_BREAK);
963 CASE_RETURN_STR(STATUS_GUARD_PAGE_VIOLATION);
964 CASE_RETURN_STR(STATUS_DATATYPE_MISALIGNMENT);
965 CASE_RETURN_STR(STATUS_BREAKPOINT);
966 CASE_RETURN_STR(STATUS_SINGLE_STEP);
967 CASE_RETURN_STR(STATUS_BUFFER_OVERFLOW);
968 CASE_RETURN_STR(STATUS_NO_MORE_FILES);
969 CASE_RETURN_STR(STATUS_WAKE_SYSTEM_DEBUGGER);
970 CASE_RETURN_STR(STATUS_HANDLES_CLOSED);
971 CASE_RETURN_STR(STATUS_NO_INHERITANCE);
972 CASE_RETURN_STR(STATUS_GUID_SUBSTITUTION_MADE);
973 CASE_RETURN_STR(STATUS_PARTIAL_COPY);
974 CASE_RETURN_STR(STATUS_DEVICE_PAPER_EMPTY);
975 CASE_RETURN_STR(STATUS_DEVICE_POWERED_OFF);
976 CASE_RETURN_STR(STATUS_DEVICE_OFF_LINE);
977 CASE_RETURN_STR(STATUS_DEVICE_BUSY);
978 CASE_RETURN_STR(STATUS_NO_MORE_EAS);
979 CASE_RETURN_STR(STATUS_INVALID_EA_NAME);
980 CASE_RETURN_STR(STATUS_EA_LIST_INCONSISTENT);
981 CASE_RETURN_STR(STATUS_INVALID_EA_FLAG);
982 CASE_RETURN_STR(STATUS_VERIFY_REQUIRED);
983 CASE_RETURN_STR(STATUS_EXTRANEOUS_INFORMATION);
984 CASE_RETURN_STR(STATUS_RXACT_COMMIT_NECESSARY);
985 CASE_RETURN_STR(STATUS_NO_MORE_ENTRIES);
986 CASE_RETURN_STR(STATUS_FILEMARK_DETECTED);
987 CASE_RETURN_STR(STATUS_MEDIA_CHANGED);
988 CASE_RETURN_STR(STATUS_BUS_RESET);
989 CASE_RETURN_STR(STATUS_END_OF_MEDIA);
990 CASE_RETURN_STR(STATUS_BEGINNING_OF_MEDIA);
991 CASE_RETURN_STR(STATUS_MEDIA_CHECK);
992 CASE_RETURN_STR(STATUS_SETMARK_DETECTED);
993 CASE_RETURN_STR(STATUS_NO_DATA_DETECTED);
994 CASE_RETURN_STR(STATUS_REDIRECTOR_HAS_OPEN_HANDLES);
995 CASE_RETURN_STR(STATUS_SERVER_HAS_OPEN_HANDLES);
996 CASE_RETURN_STR(STATUS_ALREADY_DISCONNECTED);
997 CASE_RETURN_STR(STATUS_LONGJUMP);
998 CASE_RETURN_STR(DBG_EXCEPTION_NOT_HANDLED);
999 CASE_RETURN_STR(STATUS_UNSUCCESSFUL);
1000 CASE_RETURN_STR(STATUS_NOT_IMPLEMENTED);
1001 CASE_RETURN_STR(STATUS_INVALID_INFO_CLASS);
1002 CASE_RETURN_STR(STATUS_INFO_LENGTH_MISMATCH);
1003 CASE_RETURN_STR(STATUS_ACCESS_VIOLATION);
1004 CASE_RETURN_STR(STATUS_IN_PAGE_ERROR);
1005 CASE_RETURN_STR(STATUS_PAGEFILE_QUOTA);
1006 CASE_RETURN_STR(STATUS_INVALID_HANDLE);
1007 CASE_RETURN_STR(STATUS_BAD_INITIAL_STACK);
1008 CASE_RETURN_STR(STATUS_BAD_INITIAL_PC);
1009 CASE_RETURN_STR(STATUS_INVALID_CID);
1010 CASE_RETURN_STR(STATUS_TIMER_NOT_CANCELED);
1011 CASE_RETURN_STR(STATUS_INVALID_PARAMETER);
1012 CASE_RETURN_STR(STATUS_NO_SUCH_DEVICE);
1013 CASE_RETURN_STR(STATUS_NO_SUCH_FILE);
1014 CASE_RETURN_STR(STATUS_INVALID_DEVICE_REQUEST);
1015 CASE_RETURN_STR(STATUS_END_OF_FILE);
1016 CASE_RETURN_STR(STATUS_WRONG_VOLUME);
1017 CASE_RETURN_STR(STATUS_NO_MEDIA_IN_DEVICE);
1018 CASE_RETURN_STR(STATUS_UNRECOGNIZED_MEDIA);
1019 CASE_RETURN_STR(STATUS_NONEXISTENT_SECTOR);
1020 CASE_RETURN_STR(STATUS_MORE_PROCESSING_REQUIRED);
1021 CASE_RETURN_STR(STATUS_NO_MEMORY);
1022 CASE_RETURN_STR(STATUS_CONFLICTING_ADDRESSES);
1023 CASE_RETURN_STR(STATUS_NOT_MAPPED_VIEW);
1024 CASE_RETURN_STR(STATUS_UNABLE_TO_FREE_VM);
1025 CASE_RETURN_STR(STATUS_UNABLE_TO_DELETE_SECTION);
1026 CASE_RETURN_STR(STATUS_INVALID_SYSTEM_SERVICE);
1027 CASE_RETURN_STR(STATUS_ILLEGAL_INSTRUCTION);
1028 CASE_RETURN_STR(STATUS_INVALID_LOCK_SEQUENCE);
1029 CASE_RETURN_STR(STATUS_INVALID_VIEW_SIZE);
1030 CASE_RETURN_STR(STATUS_INVALID_FILE_FOR_SECTION);
1031 CASE_RETURN_STR(STATUS_ALREADY_COMMITTED);
1032 CASE_RETURN_STR(STATUS_ACCESS_DENIED);
1033 CASE_RETURN_STR(STATUS_BUFFER_TOO_SMALL);
1034 CASE_RETURN_STR(STATUS_OBJECT_TYPE_MISMATCH);
1035 CASE_RETURN_STR(STATUS_NONCONTINUABLE_EXCEPTION);
1036 CASE_RETURN_STR(STATUS_INVALID_DISPOSITION);
1037 CASE_RETURN_STR(STATUS_UNWIND);
1038 CASE_RETURN_STR(STATUS_BAD_STACK);
1039 CASE_RETURN_STR(STATUS_INVALID_UNWIND_TARGET);
1040 CASE_RETURN_STR(STATUS_NOT_LOCKED);
1041 CASE_RETURN_STR(STATUS_PARITY_ERROR);
1042 CASE_RETURN_STR(STATUS_UNABLE_TO_DECOMMIT_VM);
1043 CASE_RETURN_STR(STATUS_NOT_COMMITTED);
1044 CASE_RETURN_STR(STATUS_INVALID_PORT_ATTRIBUTES);
1045 CASE_RETURN_STR(STATUS_PORT_MESSAGE_TOO_LONG);
1046 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_MIX);
1047 CASE_RETURN_STR(STATUS_INVALID_QUOTA_LOWER);
1048 CASE_RETURN_STR(STATUS_DISK_CORRUPT_ERROR);
1049 CASE_RETURN_STR(STATUS_OBJECT_NAME_INVALID);
1050 CASE_RETURN_STR(STATUS_OBJECT_NAME_NOT_FOUND);
1051 CASE_RETURN_STR(STATUS_OBJECT_NAME_COLLISION);
1052 CASE_RETURN_STR(STATUS_PORT_DISCONNECTED);
1053 CASE_RETURN_STR(STATUS_DEVICE_ALREADY_ATTACHED);
1054 CASE_RETURN_STR(STATUS_OBJECT_PATH_INVALID);
1055 CASE_RETURN_STR(STATUS_OBJECT_PATH_NOT_FOUND);
1056 CASE_RETURN_STR(STATUS_OBJECT_PATH_SYNTAX_BAD);
1057 CASE_RETURN_STR(STATUS_DATA_OVERRUN);
1058 CASE_RETURN_STR(STATUS_DATA_LATE_ERROR);
1059 CASE_RETURN_STR(STATUS_DATA_ERROR);
1060 CASE_RETURN_STR(STATUS_CRC_ERROR);
1061 CASE_RETURN_STR(STATUS_SECTION_TOO_BIG);
1062 CASE_RETURN_STR(STATUS_PORT_CONNECTION_REFUSED);
1063 CASE_RETURN_STR(STATUS_INVALID_PORT_HANDLE);
1064 CASE_RETURN_STR(STATUS_SHARING_VIOLATION);
1065 CASE_RETURN_STR(STATUS_QUOTA_EXCEEDED);
1066 CASE_RETURN_STR(STATUS_INVALID_PAGE_PROTECTION);
1067 CASE_RETURN_STR(STATUS_MUTANT_NOT_OWNED);
1068 CASE_RETURN_STR(STATUS_SEMAPHORE_LIMIT_EXCEEDED);
1069 CASE_RETURN_STR(STATUS_PORT_ALREADY_SET);
1070 CASE_RETURN_STR(STATUS_SECTION_NOT_IMAGE);
1071 CASE_RETURN_STR(STATUS_SUSPEND_COUNT_EXCEEDED);
1072 CASE_RETURN_STR(STATUS_THREAD_IS_TERMINATING);
1073 CASE_RETURN_STR(STATUS_BAD_WORKING_SET_LIMIT);
1074 CASE_RETURN_STR(STATUS_INCOMPATIBLE_FILE_MAP);
1075 CASE_RETURN_STR(STATUS_SECTION_PROTECTION);
1076 CASE_RETURN_STR(STATUS_EAS_NOT_SUPPORTED);
1077 CASE_RETURN_STR(STATUS_EA_TOO_LARGE);
1078 CASE_RETURN_STR(STATUS_NONEXISTENT_EA_ENTRY);
1079 CASE_RETURN_STR(STATUS_NO_EAS_ON_FILE);
1080 CASE_RETURN_STR(STATUS_EA_CORRUPT_ERROR);
1081 CASE_RETURN_STR(STATUS_FILE_LOCK_CONFLICT);
1082 CASE_RETURN_STR(STATUS_LOCK_NOT_GRANTED);
1083 CASE_RETURN_STR(STATUS_DELETE_PENDING);
1084 CASE_RETURN_STR(STATUS_CTL_FILE_NOT_SUPPORTED);
1085 CASE_RETURN_STR(STATUS_UNKNOWN_REVISION);
1086 CASE_RETURN_STR(STATUS_REVISION_MISMATCH);
1087 CASE_RETURN_STR(STATUS_INVALID_OWNER);
1088 CASE_RETURN_STR(STATUS_INVALID_PRIMARY_GROUP);
1089 CASE_RETURN_STR(STATUS_NO_IMPERSONATION_TOKEN);
1090 CASE_RETURN_STR(STATUS_CANT_DISABLE_MANDATORY);
1091 CASE_RETURN_STR(STATUS_NO_LOGON_SERVERS);
1092 CASE_RETURN_STR(STATUS_NO_SUCH_LOGON_SESSION);
1093 CASE_RETURN_STR(STATUS_NO_SUCH_PRIVILEGE);
1094 CASE_RETURN_STR(STATUS_PRIVILEGE_NOT_HELD);
1095 CASE_RETURN_STR(STATUS_INVALID_ACCOUNT_NAME);
1096 CASE_RETURN_STR(STATUS_USER_EXISTS);
1097 CASE_RETURN_STR(STATUS_NO_SUCH_USER);
1098 CASE_RETURN_STR(STATUS_GROUP_EXISTS);
1099 CASE_RETURN_STR(STATUS_NO_SUCH_GROUP);
1100 CASE_RETURN_STR(STATUS_MEMBER_IN_GROUP);
1101 CASE_RETURN_STR(STATUS_MEMBER_NOT_IN_GROUP);
1102 CASE_RETURN_STR(STATUS_LAST_ADMIN);
1103 CASE_RETURN_STR(STATUS_WRONG_PASSWORD);
1104 CASE_RETURN_STR(STATUS_ILL_FORMED_PASSWORD);
1105 CASE_RETURN_STR(STATUS_PASSWORD_RESTRICTION);
1106 CASE_RETURN_STR(STATUS_LOGON_FAILURE);
1107 CASE_RETURN_STR(STATUS_ACCOUNT_RESTRICTION);
1108 CASE_RETURN_STR(STATUS_INVALID_LOGON_HOURS);
1109 CASE_RETURN_STR(STATUS_INVALID_WORKSTATION);
1110 CASE_RETURN_STR(STATUS_PASSWORD_EXPIRED);
1111 CASE_RETURN_STR(STATUS_ACCOUNT_DISABLED);
1112 CASE_RETURN_STR(STATUS_NONE_MAPPED);
1113 CASE_RETURN_STR(STATUS_TOO_MANY_LUIDS_REQUESTED);
1114 CASE_RETURN_STR(STATUS_LUIDS_EXHAUSTED);
1115 CASE_RETURN_STR(STATUS_INVALID_SUB_AUTHORITY);
1116 CASE_RETURN_STR(STATUS_INVALID_ACL);
1117 CASE_RETURN_STR(STATUS_INVALID_SID);
1118 CASE_RETURN_STR(STATUS_INVALID_SECURITY_DESCR);
1119 CASE_RETURN_STR(STATUS_PROCEDURE_NOT_FOUND);
1120 CASE_RETURN_STR(STATUS_INVALID_IMAGE_FORMAT);
1121 CASE_RETURN_STR(STATUS_NO_TOKEN);
1122 CASE_RETURN_STR(STATUS_BAD_INHERITANCE_ACL);
1123 CASE_RETURN_STR(STATUS_RANGE_NOT_LOCKED);
1124 CASE_RETURN_STR(STATUS_DISK_FULL);
1125 CASE_RETURN_STR(STATUS_SERVER_DISABLED);
1126 CASE_RETURN_STR(STATUS_SERVER_NOT_DISABLED);
1127 CASE_RETURN_STR(STATUS_TOO_MANY_GUIDS_REQUESTED);
1128 CASE_RETURN_STR(STATUS_GUIDS_EXHAUSTED);
1129 CASE_RETURN_STR(STATUS_INVALID_ID_AUTHORITY);
1130 CASE_RETURN_STR(STATUS_AGENTS_EXHAUSTED);
1131 CASE_RETURN_STR(STATUS_INVALID_VOLUME_LABEL);
1132 CASE_RETURN_STR(STATUS_SECTION_NOT_EXTENDED);
1133 CASE_RETURN_STR(STATUS_NOT_MAPPED_DATA);
1134 CASE_RETURN_STR(STATUS_RESOURCE_DATA_NOT_FOUND);
1135 CASE_RETURN_STR(STATUS_RESOURCE_TYPE_NOT_FOUND);
1136 CASE_RETURN_STR(STATUS_RESOURCE_NAME_NOT_FOUND);
1137 CASE_RETURN_STR(STATUS_ARRAY_BOUNDS_EXCEEDED);
1138 CASE_RETURN_STR(STATUS_FLOAT_DENORMAL_OPERAND);
1139 CASE_RETURN_STR(STATUS_FLOAT_DIVIDE_BY_ZERO);
1140 CASE_RETURN_STR(STATUS_FLOAT_INEXACT_RESULT);
1141 CASE_RETURN_STR(STATUS_FLOAT_INVALID_OPERATION);
1142 CASE_RETURN_STR(STATUS_FLOAT_OVERFLOW);
1143 CASE_RETURN_STR(STATUS_FLOAT_STACK_CHECK);
1144 CASE_RETURN_STR(STATUS_FLOAT_UNDERFLOW);
1145 CASE_RETURN_STR(STATUS_INTEGER_DIVIDE_BY_ZERO);
1146 CASE_RETURN_STR(STATUS_INTEGER_OVERFLOW);
1147 CASE_RETURN_STR(STATUS_PRIVILEGED_INSTRUCTION);
1148 CASE_RETURN_STR(STATUS_TOO_MANY_PAGING_FILES);
1149 CASE_RETURN_STR(STATUS_FILE_INVALID);
1150 CASE_RETURN_STR(STATUS_ALLOTTED_SPACE_EXCEEDED);
1151 CASE_RETURN_STR(STATUS_INSUFFICIENT_RESOURCES);
1152 CASE_RETURN_STR(STATUS_DFS_EXIT_PATH_FOUND);
1153 CASE_RETURN_STR(STATUS_DEVICE_DATA_ERROR);
1154 CASE_RETURN_STR(STATUS_DEVICE_NOT_CONNECTED);
1155 CASE_RETURN_STR(STATUS_DEVICE_POWER_FAILURE);
1156 CASE_RETURN_STR(STATUS_FREE_VM_NOT_AT_BASE);
1157 CASE_RETURN_STR(STATUS_MEMORY_NOT_ALLOCATED);
1158 CASE_RETURN_STR(STATUS_WORKING_SET_QUOTA);
1159 CASE_RETURN_STR(STATUS_MEDIA_WRITE_PROTECTED);
1160 CASE_RETURN_STR(STATUS_DEVICE_NOT_READY);
1161 CASE_RETURN_STR(STATUS_INVALID_GROUP_ATTRIBUTES);
1162 CASE_RETURN_STR(STATUS_BAD_IMPERSONATION_LEVEL);
1163 CASE_RETURN_STR(STATUS_CANT_OPEN_ANONYMOUS);
1164 CASE_RETURN_STR(STATUS_BAD_VALIDATION_CLASS);
1165 CASE_RETURN_STR(STATUS_BAD_TOKEN_TYPE);
1166 CASE_RETURN_STR(STATUS_BAD_MASTER_BOOT_RECORD);
1167 CASE_RETURN_STR(STATUS_INSTRUCTION_MISALIGNMENT);
1168 CASE_RETURN_STR(STATUS_INSTANCE_NOT_AVAILABLE);
1169 CASE_RETURN_STR(STATUS_PIPE_NOT_AVAILABLE);
1170 CASE_RETURN_STR(STATUS_INVALID_PIPE_STATE);
1171 CASE_RETURN_STR(STATUS_PIPE_BUSY);
1172 CASE_RETURN_STR(STATUS_ILLEGAL_FUNCTION);
1173 CASE_RETURN_STR(STATUS_PIPE_DISCONNECTED);
1174 CASE_RETURN_STR(STATUS_PIPE_CLOSING);
1175 CASE_RETURN_STR(STATUS_PIPE_CONNECTED);
1176 CASE_RETURN_STR(STATUS_PIPE_LISTENING);
1177 CASE_RETURN_STR(STATUS_INVALID_READ_MODE);
1178 CASE_RETURN_STR(STATUS_IO_TIMEOUT);
1179 CASE_RETURN_STR(STATUS_FILE_FORCED_CLOSED);
1180 CASE_RETURN_STR(STATUS_PROFILING_NOT_STARTED);
1181 CASE_RETURN_STR(STATUS_PROFILING_NOT_STOPPED);
1182 CASE_RETURN_STR(STATUS_COULD_NOT_INTERPRET);
1183 CASE_RETURN_STR(STATUS_FILE_IS_A_DIRECTORY);
1184 CASE_RETURN_STR(STATUS_NOT_SUPPORTED);
1185 CASE_RETURN_STR(STATUS_REMOTE_NOT_LISTENING);
1186 CASE_RETURN_STR(STATUS_DUPLICATE_NAME);
1187 CASE_RETURN_STR(STATUS_BAD_NETWORK_PATH);
1188 CASE_RETURN_STR(STATUS_NETWORK_BUSY);
1189 CASE_RETURN_STR(STATUS_DEVICE_DOES_NOT_EXIST);
1190 CASE_RETURN_STR(STATUS_TOO_MANY_COMMANDS);
1191 CASE_RETURN_STR(STATUS_ADAPTER_HARDWARE_ERROR);
1192 CASE_RETURN_STR(STATUS_INVALID_NETWORK_RESPONSE);
1193 CASE_RETURN_STR(STATUS_UNEXPECTED_NETWORK_ERROR);
1194 CASE_RETURN_STR(STATUS_BAD_REMOTE_ADAPTER);
1195 CASE_RETURN_STR(STATUS_PRINT_QUEUE_FULL);
1196 CASE_RETURN_STR(STATUS_NO_SPOOL_SPACE);
1197 CASE_RETURN_STR(STATUS_PRINT_CANCELLED);
1198 CASE_RETURN_STR(STATUS_NETWORK_NAME_DELETED);
1199 CASE_RETURN_STR(STATUS_NETWORK_ACCESS_DENIED);
1200 CASE_RETURN_STR(STATUS_BAD_DEVICE_TYPE);
1201 CASE_RETURN_STR(STATUS_BAD_NETWORK_NAME);
1202 CASE_RETURN_STR(STATUS_TOO_MANY_NAMES);
1203 CASE_RETURN_STR(STATUS_TOO_MANY_SESSIONS);
1204 CASE_RETURN_STR(STATUS_SHARING_PAUSED);
1205 CASE_RETURN_STR(STATUS_REQUEST_NOT_ACCEPTED);
1206 CASE_RETURN_STR(STATUS_REDIRECTOR_PAUSED);
1207 CASE_RETURN_STR(STATUS_NET_WRITE_FAULT);
1208 CASE_RETURN_STR(STATUS_PROFILING_AT_LIMIT);
1209 CASE_RETURN_STR(STATUS_NOT_SAME_DEVICE);
1210 CASE_RETURN_STR(STATUS_FILE_RENAMED);
1211 CASE_RETURN_STR(STATUS_VIRTUAL_CIRCUIT_CLOSED);
1212 CASE_RETURN_STR(STATUS_NO_SECURITY_ON_OBJECT);
1213 CASE_RETURN_STR(STATUS_CANT_WAIT);
1214 CASE_RETURN_STR(STATUS_PIPE_EMPTY);
1215 CASE_RETURN_STR(STATUS_CANT_ACCESS_DOMAIN_INFO);
1216 CASE_RETURN_STR(STATUS_CANT_TERMINATE_SELF);
1217 CASE_RETURN_STR(STATUS_INVALID_SERVER_STATE);
1218 CASE_RETURN_STR(STATUS_INVALID_DOMAIN_STATE);
1219 CASE_RETURN_STR(STATUS_INVALID_DOMAIN_ROLE);
1220 CASE_RETURN_STR(STATUS_NO_SUCH_DOMAIN);
1221 CASE_RETURN_STR(STATUS_DOMAIN_EXISTS);
1222 CASE_RETURN_STR(STATUS_DOMAIN_LIMIT_EXCEEDED);
1223 CASE_RETURN_STR(STATUS_OPLOCK_NOT_GRANTED);
1224 CASE_RETURN_STR(STATUS_INVALID_OPLOCK_PROTOCOL);
1225 CASE_RETURN_STR(STATUS_INTERNAL_DB_CORRUPTION);
1226 CASE_RETURN_STR(STATUS_INTERNAL_ERROR);
1227 CASE_RETURN_STR(STATUS_GENERIC_NOT_MAPPED);
1228 CASE_RETURN_STR(STATUS_BAD_DESCRIPTOR_FORMAT);
1229 CASE_RETURN_STR(STATUS_INVALID_USER_BUFFER);
1230 CASE_RETURN_STR(STATUS_UNEXPECTED_IO_ERROR);
1231 CASE_RETURN_STR(STATUS_UNEXPECTED_MM_CREATE_ERR);
1232 CASE_RETURN_STR(STATUS_UNEXPECTED_MM_MAP_ERROR);
1233 CASE_RETURN_STR(STATUS_UNEXPECTED_MM_EXTEND_ERR);
1234 CASE_RETURN_STR(STATUS_NOT_LOGON_PROCESS);
1235 CASE_RETURN_STR(STATUS_LOGON_SESSION_EXISTS);
1236 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_1);
1237 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_2);
1238 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_3);
1239 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_4);
1240 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_5);
1241 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_6);
1242 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_7);
1243 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_8);
1244 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_9);
1245 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_10);
1246 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_11);
1247 CASE_RETURN_STR(STATUS_INVALID_PARAMETER_12);
1248 CASE_RETURN_STR(STATUS_REDIRECTOR_NOT_STARTED);
1249 CASE_RETURN_STR(STATUS_REDIRECTOR_STARTED);
1250 CASE_RETURN_STR(STATUS_STACK_OVERFLOW);
1251 CASE_RETURN_STR(STATUS_NO_SUCH_PACKAGE);
1252 CASE_RETURN_STR(STATUS_BAD_FUNCTION_TABLE);
1253 CASE_RETURN_STR(STATUS_VARIABLE_NOT_FOUND);
1254 CASE_RETURN_STR(STATUS_DIRECTORY_NOT_EMPTY);
1255 CASE_RETURN_STR(STATUS_FILE_CORRUPT_ERROR);
1256 CASE_RETURN_STR(STATUS_NOT_A_DIRECTORY);
1257 CASE_RETURN_STR(STATUS_BAD_LOGON_SESSION_STATE);
1258 CASE_RETURN_STR(STATUS_LOGON_SESSION_COLLISION);
1259 CASE_RETURN_STR(STATUS_NAME_TOO_LONG);
1260 CASE_RETURN_STR(STATUS_FILES_OPEN);
1261 CASE_RETURN_STR(STATUS_CONNECTION_IN_USE);
1262 CASE_RETURN_STR(STATUS_MESSAGE_NOT_FOUND);
1263 CASE_RETURN_STR(STATUS_PROCESS_IS_TERMINATING);
1264 CASE_RETURN_STR(STATUS_INVALID_LOGON_TYPE);
1265 CASE_RETURN_STR(STATUS_NO_GUID_TRANSLATION);
1266 CASE_RETURN_STR(STATUS_CANNOT_IMPERSONATE);
1267 CASE_RETURN_STR(STATUS_IMAGE_ALREADY_LOADED);
1268 CASE_RETURN_STR(STATUS_ABIOS_NOT_PRESENT);
1269 CASE_RETURN_STR(STATUS_ABIOS_LID_NOT_EXIST);
1270 CASE_RETURN_STR(STATUS_ABIOS_LID_ALREADY_OWNED);
1271 CASE_RETURN_STR(STATUS_ABIOS_NOT_LID_OWNER);
1272 CASE_RETURN_STR(STATUS_ABIOS_INVALID_COMMAND);
1273 CASE_RETURN_STR(STATUS_ABIOS_INVALID_LID);
1274 CASE_RETURN_STR(STATUS_ABIOS_SELECTOR_NOT_AVAILABLE);
1275 CASE_RETURN_STR(STATUS_ABIOS_INVALID_SELECTOR);
1276 CASE_RETURN_STR(STATUS_NO_LDT);
1277 CASE_RETURN_STR(STATUS_INVALID_LDT_SIZE);
1278 CASE_RETURN_STR(STATUS_INVALID_LDT_OFFSET);
1279 CASE_RETURN_STR(STATUS_INVALID_LDT_DESCRIPTOR);
1280 CASE_RETURN_STR(STATUS_INVALID_IMAGE_NE_FORMAT);
1281 CASE_RETURN_STR(STATUS_RXACT_INVALID_STATE);
1282 CASE_RETURN_STR(STATUS_RXACT_COMMIT_FAILURE);
1283 CASE_RETURN_STR(STATUS_MAPPED_FILE_SIZE_ZERO);
1284 CASE_RETURN_STR(STATUS_TOO_MANY_OPENED_FILES);
1285 CASE_RETURN_STR(STATUS_CANCELLED);
1286 CASE_RETURN_STR(STATUS_CANNOT_DELETE);
1287 CASE_RETURN_STR(STATUS_INVALID_COMPUTER_NAME);
1288 CASE_RETURN_STR(STATUS_FILE_DELETED);
1289 CASE_RETURN_STR(STATUS_SPECIAL_ACCOUNT);
1290 CASE_RETURN_STR(STATUS_SPECIAL_GROUP);
1291 CASE_RETURN_STR(STATUS_SPECIAL_USER);
1292 CASE_RETURN_STR(STATUS_MEMBERS_PRIMARY_GROUP);
1293 CASE_RETURN_STR(STATUS_FILE_CLOSED);
1294 CASE_RETURN_STR(STATUS_TOO_MANY_THREADS);
1295 CASE_RETURN_STR(STATUS_THREAD_NOT_IN_PROCESS);
1296 CASE_RETURN_STR(STATUS_TOKEN_ALREADY_IN_USE);
1297 CASE_RETURN_STR(STATUS_PAGEFILE_QUOTA_EXCEEDED);
1298 CASE_RETURN_STR(STATUS_COMMITMENT_LIMIT);
1299 CASE_RETURN_STR(STATUS_INVALID_IMAGE_LE_FORMAT);
1300 CASE_RETURN_STR(STATUS_INVALID_IMAGE_NOT_MZ);
1301 CASE_RETURN_STR(STATUS_INVALID_IMAGE_PROTECT);
1302 CASE_RETURN_STR(STATUS_INVALID_IMAGE_WIN_16);
1303 CASE_RETURN_STR(STATUS_LOGON_SERVER_CONFLICT);
1304 CASE_RETURN_STR(STATUS_TIME_DIFFERENCE_AT_DC);
1305 CASE_RETURN_STR(STATUS_SYNCHRONIZATION_REQUIRED);
1306 CASE_RETURN_STR(STATUS_DLL_NOT_FOUND);
1307 CASE_RETURN_STR(STATUS_OPEN_FAILED);
1308 CASE_RETURN_STR(STATUS_IO_PRIVILEGE_FAILED);
1309 CASE_RETURN_STR(STATUS_ORDINAL_NOT_FOUND);
1310 CASE_RETURN_STR(STATUS_ENTRYPOINT_NOT_FOUND);
1311 CASE_RETURN_STR(STATUS_CONTROL_C_EXIT);
1312 CASE_RETURN_STR(STATUS_LOCAL_DISCONNECT);
1313 CASE_RETURN_STR(STATUS_REMOTE_DISCONNECT);
1314 CASE_RETURN_STR(STATUS_REMOTE_RESOURCES);
1315 CASE_RETURN_STR(STATUS_LINK_FAILED);
1316 CASE_RETURN_STR(STATUS_LINK_TIMEOUT);
1317 CASE_RETURN_STR(STATUS_INVALID_CONNECTION);
1318 CASE_RETURN_STR(STATUS_INVALID_ADDRESS);
1319 CASE_RETURN_STR(STATUS_DLL_INIT_FAILED);
1320 CASE_RETURN_STR(STATUS_MISSING_SYSTEMFILE);
1321 CASE_RETURN_STR(STATUS_UNHANDLED_EXCEPTION);
1322 CASE_RETURN_STR(STATUS_APP_INIT_FAILURE);
1323 CASE_RETURN_STR(STATUS_PAGEFILE_CREATE_FAILED);
1324 CASE_RETURN_STR(STATUS_NO_PAGEFILE);
1325 CASE_RETURN_STR(STATUS_INVALID_LEVEL);
1326 CASE_RETURN_STR(STATUS_WRONG_PASSWORD_CORE);
1327 CASE_RETURN_STR(STATUS_ILLEGAL_FLOAT_CONTEXT);
1328 CASE_RETURN_STR(STATUS_PIPE_BROKEN);
1329 CASE_RETURN_STR(STATUS_REGISTRY_CORRUPT);
1330 CASE_RETURN_STR(STATUS_REGISTRY_IO_FAILED);
1331 CASE_RETURN_STR(STATUS_NO_EVENT_PAIR);
1332 CASE_RETURN_STR(STATUS_UNRECOGNIZED_VOLUME);
1333 CASE_RETURN_STR(STATUS_SERIAL_NO_DEVICE_INITED);
1334 CASE_RETURN_STR(STATUS_NO_SUCH_ALIAS);
1335 CASE_RETURN_STR(STATUS_MEMBER_NOT_IN_ALIAS);
1336 CASE_RETURN_STR(STATUS_MEMBER_IN_ALIAS);
1337 CASE_RETURN_STR(STATUS_ALIAS_EXISTS);
1338 CASE_RETURN_STR(STATUS_LOGON_NOT_GRANTED);
1339 CASE_RETURN_STR(STATUS_TOO_MANY_SECRETS);
1340 CASE_RETURN_STR(STATUS_SECRET_TOO_LONG);
1341 CASE_RETURN_STR(STATUS_INTERNAL_DB_ERROR);
1342 CASE_RETURN_STR(STATUS_FULLSCREEN_MODE);
1343 CASE_RETURN_STR(STATUS_TOO_MANY_CONTEXT_IDS);
1344 CASE_RETURN_STR(STATUS_LOGON_TYPE_NOT_GRANTED);
1345 CASE_RETURN_STR(STATUS_NOT_REGISTRY_FILE);
1346 CASE_RETURN_STR(STATUS_NT_CROSS_ENCRYPTION_REQUIRED);
1347 CASE_RETURN_STR(STATUS_DOMAIN_CTRLR_CONFIG_ERROR);
1348 CASE_RETURN_STR(STATUS_FT_MISSING_MEMBER);
1349 CASE_RETURN_STR(STATUS_ILL_FORMED_SERVICE_ENTRY);
1350 CASE_RETURN_STR(STATUS_ILLEGAL_CHARACTER);
1351 CASE_RETURN_STR(STATUS_UNMAPPABLE_CHARACTER);
1352 CASE_RETURN_STR(STATUS_UNDEFINED_CHARACTER);
1353 CASE_RETURN_STR(STATUS_FLOPPY_VOLUME);
1354 CASE_RETURN_STR(STATUS_FLOPPY_ID_MARK_NOT_FOUND);
1355 CASE_RETURN_STR(STATUS_FLOPPY_WRONG_CYLINDER);
1356 CASE_RETURN_STR(STATUS_FLOPPY_UNKNOWN_ERROR);
1357 CASE_RETURN_STR(STATUS_FLOPPY_BAD_REGISTERS);
1358 CASE_RETURN_STR(STATUS_DISK_RECALIBRATE_FAILED);
1359 CASE_RETURN_STR(STATUS_DISK_OPERATION_FAILED);
1360 CASE_RETURN_STR(STATUS_DISK_RESET_FAILED);
1361 CASE_RETURN_STR(STATUS_SHARED_IRQ_BUSY);
1362 CASE_RETURN_STR(STATUS_FT_ORPHANING);
1363 CASE_RETURN_STR(STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT);
1364 CASE_RETURN_STR(STATUS_PARTITION_FAILURE);
1365 CASE_RETURN_STR(STATUS_INVALID_BLOCK_LENGTH);
1366 CASE_RETURN_STR(STATUS_DEVICE_NOT_PARTITIONED);
1367 CASE_RETURN_STR(STATUS_UNABLE_TO_LOCK_MEDIA);
1368 CASE_RETURN_STR(STATUS_UNABLE_TO_UNLOAD_MEDIA);
1369 CASE_RETURN_STR(STATUS_EOM_OVERFLOW);
1370 CASE_RETURN_STR(STATUS_NO_MEDIA);
1371 CASE_RETURN_STR(STATUS_NO_SUCH_MEMBER);
1372 CASE_RETURN_STR(STATUS_INVALID_MEMBER);
1373 CASE_RETURN_STR(STATUS_KEY_DELETED);
1374 CASE_RETURN_STR(STATUS_NO_LOG_SPACE);
1375 CASE_RETURN_STR(STATUS_TOO_MANY_SIDS);
1376 CASE_RETURN_STR(STATUS_LM_CROSS_ENCRYPTION_REQUIRED);
1377 CASE_RETURN_STR(STATUS_KEY_HAS_CHILDREN);
1378 CASE_RETURN_STR(STATUS_CHILD_MUST_BE_VOLATILE);
1379 CASE_RETURN_STR(STATUS_DEVICE_CONFIGURATION_ERROR);
1380 CASE_RETURN_STR(STATUS_DRIVER_INTERNAL_ERROR);
1381 CASE_RETURN_STR(STATUS_INVALID_DEVICE_STATE);
1382 CASE_RETURN_STR(STATUS_IO_DEVICE_ERROR);
1383 CASE_RETURN_STR(STATUS_DEVICE_PROTOCOL_ERROR);
1384 CASE_RETURN_STR(STATUS_BACKUP_CONTROLLER);
1385 CASE_RETURN_STR(STATUS_LOG_FILE_FULL);
1386 CASE_RETURN_STR(STATUS_TOO_LATE);
1387 CASE_RETURN_STR(STATUS_NO_TRUST_LSA_SECRET);
1388 CASE_RETURN_STR(STATUS_NO_TRUST_SAM_ACCOUNT);
1389 CASE_RETURN_STR(STATUS_TRUSTED_DOMAIN_FAILURE);
1390 CASE_RETURN_STR(STATUS_TRUSTED_RELATIONSHIP_FAILURE);
1391 CASE_RETURN_STR(STATUS_EVENTLOG_FILE_CORRUPT);
1392 CASE_RETURN_STR(STATUS_EVENTLOG_CANT_START);
1393 CASE_RETURN_STR(STATUS_TRUST_FAILURE);
1394 CASE_RETURN_STR(STATUS_MUTANT_LIMIT_EXCEEDED);
1395 CASE_RETURN_STR(STATUS_NETLOGON_NOT_STARTED);
1396 CASE_RETURN_STR(STATUS_ACCOUNT_EXPIRED);
1397 CASE_RETURN_STR(STATUS_POSSIBLE_DEADLOCK);
1398 CASE_RETURN_STR(STATUS_NETWORK_CREDENTIAL_CONFLICT);
1399 CASE_RETURN_STR(STATUS_REMOTE_SESSION_LIMIT);
1400 CASE_RETURN_STR(STATUS_EVENTLOG_FILE_CHANGED);
1401 CASE_RETURN_STR(STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT);
1402 CASE_RETURN_STR(STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT);
1403 CASE_RETURN_STR(STATUS_NOLOGON_SERVER_TRUST_ACCOUNT);
1404 CASE_RETURN_STR(STATUS_DOMAIN_TRUST_INCONSISTENT);
1405 CASE_RETURN_STR(STATUS_FS_DRIVER_REQUIRED);
1406 CASE_RETURN_STR(STATUS_NO_USER_SESSION_KEY);
1407 CASE_RETURN_STR(STATUS_USER_SESSION_DELETED);
1408 CASE_RETURN_STR(STATUS_RESOURCE_LANG_NOT_FOUND);
1409 CASE_RETURN_STR(STATUS_INSUFF_SERVER_RESOURCES);
1410 CASE_RETURN_STR(STATUS_INVALID_BUFFER_SIZE);
1411 CASE_RETURN_STR(STATUS_INVALID_ADDRESS_COMPONENT);
1412 CASE_RETURN_STR(STATUS_INVALID_ADDRESS_WILDCARD);
1413 CASE_RETURN_STR(STATUS_TOO_MANY_ADDRESSES);
1414 CASE_RETURN_STR(STATUS_ADDRESS_ALREADY_EXISTS);
1415 CASE_RETURN_STR(STATUS_ADDRESS_CLOSED);
1416 CASE_RETURN_STR(STATUS_CONNECTION_DISCONNECTED);
1417 CASE_RETURN_STR(STATUS_CONNECTION_RESET);
1418 CASE_RETURN_STR(STATUS_TOO_MANY_NODES);
1419 CASE_RETURN_STR(STATUS_TRANSACTION_ABORTED);
1420 CASE_RETURN_STR(STATUS_TRANSACTION_TIMED_OUT);
1421 CASE_RETURN_STR(STATUS_TRANSACTION_NO_RELEASE);
1422 CASE_RETURN_STR(STATUS_TRANSACTION_NO_MATCH);
1423 CASE_RETURN_STR(STATUS_TRANSACTION_RESPONDED);
1424 CASE_RETURN_STR(STATUS_TRANSACTION_INVALID_ID);
1425 CASE_RETURN_STR(STATUS_TRANSACTION_INVALID_TYPE);
1426 CASE_RETURN_STR(STATUS_NOT_SERVER_SESSION);
1427 CASE_RETURN_STR(STATUS_NOT_CLIENT_SESSION);
1428 CASE_RETURN_STR(STATUS_CANNOT_LOAD_REGISTRY_FILE);
1429 CASE_RETURN_STR(STATUS_DEBUG_ATTACH_FAILED);
1430 CASE_RETURN_STR(STATUS_SYSTEM_PROCESS_TERMINATED);
1431 CASE_RETURN_STR(STATUS_DATA_NOT_ACCEPTED);
1432 CASE_RETURN_STR(STATUS_NO_BROWSER_SERVERS_FOUND);
1433 CASE_RETURN_STR(STATUS_VDM_HARD_ERROR);
1434 CASE_RETURN_STR(STATUS_DRIVER_CANCEL_TIMEOUT);
1435 CASE_RETURN_STR(STATUS_REPLY_MESSAGE_MISMATCH);
1436 CASE_RETURN_STR(STATUS_MAPPED_ALIGNMENT);
1437 CASE_RETURN_STR(STATUS_IMAGE_CHECKSUM_MISMATCH);
1438 CASE_RETURN_STR(STATUS_LOST_WRITEBEHIND_DATA);
1439 CASE_RETURN_STR(STATUS_CLIENT_SERVER_PARAMETERS_INVALID);
1440 CASE_RETURN_STR(STATUS_PASSWORD_MUST_CHANGE);
1441 CASE_RETURN_STR(STATUS_NOT_FOUND);
1442 CASE_RETURN_STR(STATUS_NOT_TINY_STREAM);
1443 CASE_RETURN_STR(STATUS_RECOVERY_FAILURE);
1444 CASE_RETURN_STR(STATUS_STACK_OVERFLOW_READ);
1445 CASE_RETURN_STR(STATUS_FAIL_CHECK);
1446 CASE_RETURN_STR(STATUS_DUPLICATE_OBJECTID);
1447 CASE_RETURN_STR(STATUS_OBJECTID_EXISTS);
1448 CASE_RETURN_STR(STATUS_CONVERT_TO_LARGE);
1449 CASE_RETURN_STR(STATUS_RETRY);
1450 CASE_RETURN_STR(STATUS_FOUND_OUT_OF_SCOPE);
1451 CASE_RETURN_STR(STATUS_ALLOCATE_BUCKET);
1452 CASE_RETURN_STR(STATUS_PROPSET_NOT_FOUND);
1453 CASE_RETURN_STR(STATUS_MARSHALL_OVERFLOW);
1454 CASE_RETURN_STR(STATUS_INVALID_VARIANT);
1455 CASE_RETURN_STR(STATUS_DOMAIN_CONTROLLER_NOT_FOUND);
1456 CASE_RETURN_STR(STATUS_ACCOUNT_LOCKED_OUT);
1457 CASE_RETURN_STR(STATUS_HANDLE_NOT_CLOSABLE);
1458 CASE_RETURN_STR(STATUS_CONNECTION_REFUSED);
1459 CASE_RETURN_STR(STATUS_GRACEFUL_DISCONNECT);
1460 CASE_RETURN_STR(STATUS_ADDRESS_ALREADY_ASSOCIATED);
1461 CASE_RETURN_STR(STATUS_ADDRESS_NOT_ASSOCIATED);
1462 CASE_RETURN_STR(STATUS_CONNECTION_INVALID);
1463 CASE_RETURN_STR(STATUS_CONNECTION_ACTIVE);
1464 CASE_RETURN_STR(STATUS_NETWORK_UNREACHABLE);
1465 CASE_RETURN_STR(STATUS_HOST_UNREACHABLE);
1466 CASE_RETURN_STR(STATUS_PROTOCOL_UNREACHABLE);
1467 CASE_RETURN_STR(STATUS_PORT_UNREACHABLE);
1468 CASE_RETURN_STR(STATUS_REQUEST_ABORTED);
1469 CASE_RETURN_STR(STATUS_CONNECTION_ABORTED);
1470 CASE_RETURN_STR(STATUS_BAD_COMPRESSION_BUFFER);
1471 CASE_RETURN_STR(STATUS_USER_MAPPED_FILE);
1472 CASE_RETURN_STR(STATUS_AUDIT_FAILED);
1473 CASE_RETURN_STR(STATUS_TIMER_RESOLUTION_NOT_SET);
1474 CASE_RETURN_STR(STATUS_CONNECTION_COUNT_LIMIT);
1475 CASE_RETURN_STR(STATUS_LOGIN_TIME_RESTRICTION);
1476 CASE_RETURN_STR(STATUS_LOGIN_WKSTA_RESTRICTION);
1477 CASE_RETURN_STR(STATUS_IMAGE_MP_UP_MISMATCH);
1478 CASE_RETURN_STR(STATUS_INSUFFICIENT_LOGON_INFO);
1479 CASE_RETURN_STR(STATUS_BAD_DLL_ENTRYPOINT);
1480 CASE_RETURN_STR(STATUS_BAD_SERVICE_ENTRYPOINT);
1481 CASE_RETURN_STR(STATUS_LPC_REPLY_LOST);
1482 CASE_RETURN_STR(STATUS_IP_ADDRESS_CONFLICT1);
1483 CASE_RETURN_STR(STATUS_IP_ADDRESS_CONFLICT2);
1484 CASE_RETURN_STR(STATUS_REGISTRY_QUOTA_LIMIT);
1485 CASE_RETURN_STR(STATUS_PATH_NOT_COVERED);
1486 CASE_RETURN_STR(STATUS_NO_CALLBACK_ACTIVE);
1487 CASE_RETURN_STR(STATUS_LICENSE_QUOTA_EXCEEDED);
1488 CASE_RETURN_STR(STATUS_PWD_TOO_SHORT);
1489 CASE_RETURN_STR(STATUS_PWD_TOO_RECENT);
1490 CASE_RETURN_STR(STATUS_PWD_HISTORY_CONFLICT);
1491 CASE_RETURN_STR(STATUS_PLUGPLAY_NO_DEVICE);
1492 CASE_RETURN_STR(STATUS_UNSUPPORTED_COMPRESSION);
1493 CASE_RETURN_STR(STATUS_INVALID_HW_PROFILE);
1494 CASE_RETURN_STR(STATUS_INVALID_PLUGPLAY_DEVICE_PATH);
1495 CASE_RETURN_STR(STATUS_DRIVER_ORDINAL_NOT_FOUND);
1496 CASE_RETURN_STR(STATUS_DRIVER_ENTRYPOINT_NOT_FOUND);
1497 CASE_RETURN_STR(STATUS_RESOURCE_NOT_OWNED);
1498 CASE_RETURN_STR(STATUS_TOO_MANY_LINKS);
1499 CASE_RETURN_STR(STATUS_QUOTA_LIST_INCONSISTENT);
1500 CASE_RETURN_STR(STATUS_FILE_IS_OFFLINE);
1501 CASE_RETURN_STR(STATUS_EVALUATION_EXPIRATION);
1502 CASE_RETURN_STR(STATUS_ILLEGAL_DLL_RELOCATION);
1503 CASE_RETURN_STR(STATUS_LICENSE_VIOLATION);
1504 CASE_RETURN_STR(STATUS_DLL_INIT_FAILED_LOGOFF);
1505 CASE_RETURN_STR(STATUS_DRIVER_UNABLE_TO_LOAD);
1506 CASE_RETURN_STR(STATUS_DFS_UNAVAILABLE);
1507 CASE_RETURN_STR(STATUS_VOLUME_DISMOUNTED);
1508 CASE_RETURN_STR(STATUS_WX86_INTERNAL_ERROR);
1509 CASE_RETURN_STR(STATUS_WX86_FLOAT_STACK_CHECK);
1510 CASE_RETURN_STR(STATUS_VALIDATE_CONTINUE);
1511 CASE_RETURN_STR(STATUS_NO_MATCH);
1512 CASE_RETURN_STR(STATUS_NO_MORE_MATCHES);
1513 CASE_RETURN_STR(STATUS_NOT_A_REPARSE_POINT);
1514 CASE_RETURN_STR(STATUS_IO_REPARSE_TAG_INVALID);
1515 CASE_RETURN_STR(STATUS_IO_REPARSE_TAG_MISMATCH);
1516 CASE_RETURN_STR(STATUS_IO_REPARSE_DATA_INVALID);
1517 CASE_RETURN_STR(STATUS_IO_REPARSE_TAG_NOT_HANDLED);
1518 CASE_RETURN_STR(STATUS_REPARSE_POINT_NOT_RESOLVED);
1519 CASE_RETURN_STR(STATUS_DIRECTORY_IS_A_REPARSE_POINT);
1520 CASE_RETURN_STR(STATUS_RANGE_LIST_CONFLICT);
1521 CASE_RETURN_STR(STATUS_SOURCE_ELEMENT_EMPTY);
1522 CASE_RETURN_STR(STATUS_DESTINATION_ELEMENT_FULL);
1523 CASE_RETURN_STR(STATUS_ILLEGAL_ELEMENT_ADDRESS);
1524 CASE_RETURN_STR(STATUS_MAGAZINE_NOT_PRESENT);
1525 CASE_RETURN_STR(STATUS_REINITIALIZATION_NEEDED);
1526 CASE_RETURN_STR(STATUS_DEVICE_REQUIRES_CLEANING);
1527 CASE_RETURN_STR(STATUS_DEVICE_DOOR_OPEN);
1528 CASE_RETURN_STR(STATUS_ENCRYPTION_FAILED);
1529 CASE_RETURN_STR(STATUS_DECRYPTION_FAILED);
1530 CASE_RETURN_STR(STATUS_RANGE_NOT_FOUND);
1531 CASE_RETURN_STR(STATUS_NO_RECOVERY_POLICY);
1532 CASE_RETURN_STR(STATUS_NO_EFS);
1533 CASE_RETURN_STR(STATUS_WRONG_EFS);
1534 CASE_RETURN_STR(STATUS_NO_USER_KEYS);
1535 CASE_RETURN_STR(STATUS_FILE_NOT_ENCRYPTED);
1536 CASE_RETURN_STR(STATUS_NOT_EXPORT_FORMAT);
1537 CASE_RETURN_STR(STATUS_FILE_ENCRYPTED);
1538 CASE_RETURN_STR(STATUS_WAKE_SYSTEM);
1539 CASE_RETURN_STR(STATUS_WMI_GUID_NOT_FOUND);
1540 CASE_RETURN_STR(STATUS_WMI_INSTANCE_NOT_FOUND);
1541 CASE_RETURN_STR(STATUS_WMI_ITEMID_NOT_FOUND);
1542 CASE_RETURN_STR(STATUS_WMI_TRY_AGAIN);
1543 CASE_RETURN_STR(STATUS_SHARED_POLICY);
1544 CASE_RETURN_STR(STATUS_POLICY_OBJECT_NOT_FOUND);
1545 CASE_RETURN_STR(STATUS_POLICY_ONLY_IN_DS);
1546 CASE_RETURN_STR(STATUS_VOLUME_NOT_UPGRADED);
1547 CASE_RETURN_STR(STATUS_REMOTE_STORAGE_NOT_ACTIVE);
1548 CASE_RETURN_STR(STATUS_REMOTE_STORAGE_MEDIA_ERROR);
1549 CASE_RETURN_STR(STATUS_NO_TRACKING_SERVICE);
1550 CASE_RETURN_STR(STATUS_SERVER_SID_MISMATCH);
1551 CASE_RETURN_STR(STATUS_DS_NO_ATTRIBUTE_OR_VALUE);
1552 CASE_RETURN_STR(STATUS_DS_INVALID_ATTRIBUTE_SYNTAX);
1553 CASE_RETURN_STR(STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED);
1554 CASE_RETURN_STR(STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS);
1555 CASE_RETURN_STR(STATUS_DS_BUSY);
1556 CASE_RETURN_STR(STATUS_DS_UNAVAILABLE);
1557 CASE_RETURN_STR(STATUS_DS_NO_RIDS_ALLOCATED);
1558 CASE_RETURN_STR(STATUS_DS_NO_MORE_RIDS);
1559 CASE_RETURN_STR(STATUS_DS_INCORRECT_ROLE_OWNER);
1560 CASE_RETURN_STR(STATUS_DS_RIDMGR_INIT_ERROR);
1561 CASE_RETURN_STR(STATUS_DS_OBJ_CLASS_VIOLATION);
1562 CASE_RETURN_STR(STATUS_DS_CANT_ON_NON_LEAF);
1563 CASE_RETURN_STR(STATUS_DS_CANT_ON_RDN);
1564 CASE_RETURN_STR(STATUS_DS_CANT_MOD_OBJ_CLASS);
1565 CASE_RETURN_STR(STATUS_DS_CROSS_DOM_MOVE_FAILED);
1566 CASE_RETURN_STR(STATUS_DS_GC_NOT_AVAILABLE);
1567 CASE_RETURN_STR(STATUS_DIRECTORY_SERVICE_REQUIRED);
1568 CASE_RETURN_STR(STATUS_REPARSE_ATTRIBUTE_CONFLICT);
1569 CASE_RETURN_STR(STATUS_CANT_ENABLE_DENY_ONLY);
1570 CASE_RETURN_STR(STATUS_FLOAT_MULTIPLE_FAULTS);
1571 CASE_RETURN_STR(STATUS_FLOAT_MULTIPLE_TRAPS);
1572 CASE_RETURN_STR(STATUS_DEVICE_REMOVED);
1573 CASE_RETURN_STR(STATUS_JOURNAL_DELETE_IN_PROGRESS);
1574 CASE_RETURN_STR(STATUS_JOURNAL_NOT_ACTIVE);
1575 CASE_RETURN_STR(STATUS_NOINTERFACE);
1576 CASE_RETURN_STR(STATUS_DS_ADMIN_LIMIT_EXCEEDED);
1577 CASE_RETURN_STR(STATUS_DRIVER_FAILED_SLEEP);
1578 CASE_RETURN_STR(STATUS_MUTUAL_AUTHENTICATION_FAILED);
1579 CASE_RETURN_STR(STATUS_CORRUPT_SYSTEM_FILE);
1580 CASE_RETURN_STR(STATUS_DATATYPE_MISALIGNMENT_ERROR);
1581 CASE_RETURN_STR(STATUS_WMI_READ_ONLY);
1582 CASE_RETURN_STR(STATUS_WMI_SET_FAILURE);
1583 CASE_RETURN_STR(STATUS_COMMITMENT_MINIMUM);
1584 CASE_RETURN_STR(STATUS_REG_NAT_CONSUMPTION);
1585 CASE_RETURN_STR(STATUS_TRANSPORT_FULL);
1586 CASE_RETURN_STR(STATUS_DS_SAM_INIT_FAILURE);
1587 CASE_RETURN_STR(STATUS_ONLY_IF_CONNECTED);
1588 CASE_RETURN_STR(STATUS_DS_SENSITIVE_GROUP_VIOLATION);
1589 CASE_RETURN_STR(STATUS_PNP_RESTART_ENUMERATION);
1590 CASE_RETURN_STR(STATUS_JOURNAL_ENTRY_DELETED);
1591 CASE_RETURN_STR(STATUS_DS_CANT_MOD_PRIMARYGROUPID);
1592 CASE_RETURN_STR(STATUS_SYSTEM_IMAGE_BAD_SIGNATURE);
1593 CASE_RETURN_STR(STATUS_PNP_REBOOT_REQUIRED);
1594 CASE_RETURN_STR(STATUS_POWER_STATE_INVALID);
1595 CASE_RETURN_STR(STATUS_DS_INVALID_GROUP_TYPE);
1596 CASE_RETURN_STR(STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN);
1597 CASE_RETURN_STR(STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN);
1598 CASE_RETURN_STR(STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER);
1599 CASE_RETURN_STR(STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER);
1600 CASE_RETURN_STR(STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER);
1601 CASE_RETURN_STR(STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER);
1602 CASE_RETURN_STR(STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER);
1603 CASE_RETURN_STR(STATUS_DS_HAVE_PRIMARY_MEMBERS);
1604 CASE_RETURN_STR(STATUS_WMI_NOT_SUPPORTED);
1605 CASE_RETURN_STR(STATUS_INSUFFICIENT_POWER);
1606 CASE_RETURN_STR(STATUS_SAM_NEED_BOOTKEY_PASSWORD);
1607 CASE_RETURN_STR(STATUS_SAM_NEED_BOOTKEY_FLOPPY);
1608 CASE_RETURN_STR(STATUS_DS_CANT_START);
1609 CASE_RETURN_STR(STATUS_DS_INIT_FAILURE);
1610 CASE_RETURN_STR(STATUS_SAM_INIT_FAILURE);
1611 CASE_RETURN_STR(STATUS_DS_GC_REQUIRED);
1612 CASE_RETURN_STR(STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY);
1613 CASE_RETURN_STR(STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS);
1614 CASE_RETURN_STR(STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED);
1615 CASE_RETURN_STR(STATUS_MULTIPLE_FAULT_VIOLATION);
1616 CASE_RETURN_STR(STATUS_NOT_SUPPORTED_ON_SBS);
1617 CASE_RETURN_STR(STATUS_WOW_ASSERTION);
1618 CASE_RETURN_STR(DBG_NO_STATE_CHANGE);
1619 CASE_RETURN_STR(DBG_APP_NOT_IDLE);
1620 CASE_RETURN_STR(RPC_NT_INVALID_STRING_BINDING);
1621 CASE_RETURN_STR(RPC_NT_WRONG_KIND_OF_BINDING);
1622 CASE_RETURN_STR(RPC_NT_INVALID_BINDING);
1623 CASE_RETURN_STR(RPC_NT_PROTSEQ_NOT_SUPPORTED);
1624 CASE_RETURN_STR(RPC_NT_INVALID_RPC_PROTSEQ);
1625 CASE_RETURN_STR(RPC_NT_INVALID_STRING_UUID);
1626 CASE_RETURN_STR(RPC_NT_INVALID_ENDPOINT_FORMAT);
1627 CASE_RETURN_STR(RPC_NT_INVALID_NET_ADDR);
1628 CASE_RETURN_STR(RPC_NT_NO_ENDPOINT_FOUND);
1629 CASE_RETURN_STR(RPC_NT_INVALID_TIMEOUT);
1630 CASE_RETURN_STR(RPC_NT_OBJECT_NOT_FOUND);
1631 CASE_RETURN_STR(RPC_NT_ALREADY_REGISTERED);
1632 CASE_RETURN_STR(RPC_NT_TYPE_ALREADY_REGISTERED);
1633 CASE_RETURN_STR(RPC_NT_ALREADY_LISTENING);
1634 CASE_RETURN_STR(RPC_NT_NO_PROTSEQS_REGISTERED);
1635 CASE_RETURN_STR(RPC_NT_NOT_LISTENING);
1636 CASE_RETURN_STR(RPC_NT_UNKNOWN_MGR_TYPE);
1637 CASE_RETURN_STR(RPC_NT_UNKNOWN_IF);
1638 CASE_RETURN_STR(RPC_NT_NO_BINDINGS);
1639 CASE_RETURN_STR(RPC_NT_NO_PROTSEQS);
1640 CASE_RETURN_STR(RPC_NT_CANT_CREATE_ENDPOINT);
1641 CASE_RETURN_STR(RPC_NT_OUT_OF_RESOURCES);
1642 CASE_RETURN_STR(RPC_NT_SERVER_UNAVAILABLE);
1643 CASE_RETURN_STR(RPC_NT_SERVER_TOO_BUSY);
1644 CASE_RETURN_STR(RPC_NT_INVALID_NETWORK_OPTIONS);
1645 CASE_RETURN_STR(RPC_NT_NO_CALL_ACTIVE);
1646 CASE_RETURN_STR(RPC_NT_CALL_FAILED);
1647 CASE_RETURN_STR(RPC_NT_CALL_FAILED_DNE);
1648 CASE_RETURN_STR(RPC_NT_PROTOCOL_ERROR);
1649 CASE_RETURN_STR(RPC_NT_UNSUPPORTED_TRANS_SYN);
1650 CASE_RETURN_STR(RPC_NT_UNSUPPORTED_TYPE);
1651 CASE_RETURN_STR(RPC_NT_INVALID_TAG);
1652 CASE_RETURN_STR(RPC_NT_INVALID_BOUND);
1653 CASE_RETURN_STR(RPC_NT_NO_ENTRY_NAME);
1654 CASE_RETURN_STR(RPC_NT_INVALID_NAME_SYNTAX);
1655 CASE_RETURN_STR(RPC_NT_UNSUPPORTED_NAME_SYNTAX);
1656 CASE_RETURN_STR(RPC_NT_UUID_NO_ADDRESS);
1657 CASE_RETURN_STR(RPC_NT_DUPLICATE_ENDPOINT);
1658 CASE_RETURN_STR(RPC_NT_UNKNOWN_AUTHN_TYPE);
1659 CASE_RETURN_STR(RPC_NT_MAX_CALLS_TOO_SMALL);
1660 CASE_RETURN_STR(RPC_NT_STRING_TOO_LONG);
1661 CASE_RETURN_STR(RPC_NT_PROTSEQ_NOT_FOUND);
1662 CASE_RETURN_STR(RPC_NT_PROCNUM_OUT_OF_RANGE);
1663 CASE_RETURN_STR(RPC_NT_BINDING_HAS_NO_AUTH);
1664 CASE_RETURN_STR(RPC_NT_UNKNOWN_AUTHN_SERVICE);
1665 CASE_RETURN_STR(RPC_NT_UNKNOWN_AUTHN_LEVEL);
1666 CASE_RETURN_STR(RPC_NT_INVALID_AUTH_IDENTITY);
1667 CASE_RETURN_STR(RPC_NT_UNKNOWN_AUTHZ_SERVICE);
1668 CASE_RETURN_STR(EPT_NT_INVALID_ENTRY);
1669 CASE_RETURN_STR(EPT_NT_CANT_PERFORM_OP);
1670 CASE_RETURN_STR(EPT_NT_NOT_REGISTERED);
1671 CASE_RETURN_STR(RPC_NT_NOTHING_TO_EXPORT);
1672 CASE_RETURN_STR(RPC_NT_INCOMPLETE_NAME);
1673 CASE_RETURN_STR(RPC_NT_INVALID_VERS_OPTION);
1674 CASE_RETURN_STR(RPC_NT_NO_MORE_MEMBERS);
1675 CASE_RETURN_STR(RPC_NT_NOT_ALL_OBJS_UNEXPORTED);
1676 CASE_RETURN_STR(RPC_NT_INTERFACE_NOT_FOUND);
1677 CASE_RETURN_STR(RPC_NT_ENTRY_ALREADY_EXISTS);
1678 CASE_RETURN_STR(RPC_NT_ENTRY_NOT_FOUND);
1679 CASE_RETURN_STR(RPC_NT_NAME_SERVICE_UNAVAILABLE);
1680 CASE_RETURN_STR(RPC_NT_INVALID_NAF_ID);
1681 CASE_RETURN_STR(RPC_NT_CANNOT_SUPPORT);
1682 CASE_RETURN_STR(RPC_NT_NO_CONTEXT_AVAILABLE);
1683 CASE_RETURN_STR(RPC_NT_INTERNAL_ERROR);
1684 CASE_RETURN_STR(RPC_NT_ZERO_DIVIDE);
1685 CASE_RETURN_STR(RPC_NT_ADDRESS_ERROR);
1686 CASE_RETURN_STR(RPC_NT_FP_DIV_ZERO);
1687 CASE_RETURN_STR(RPC_NT_FP_UNDERFLOW);
1688 CASE_RETURN_STR(RPC_NT_FP_OVERFLOW);
1689 CASE_RETURN_STR(RPC_NT_NO_MORE_ENTRIES);
1690 CASE_RETURN_STR(RPC_NT_SS_CHAR_TRANS_OPEN_FAIL);
1691 CASE_RETURN_STR(RPC_NT_SS_CHAR_TRANS_SHORT_FILE);
1692 CASE_RETURN_STR(RPC_NT_SS_IN_NULL_CONTEXT);
1693 CASE_RETURN_STR(RPC_NT_SS_CONTEXT_MISMATCH);
1694 CASE_RETURN_STR(RPC_NT_SS_CONTEXT_DAMAGED);
1695 CASE_RETURN_STR(RPC_NT_SS_HANDLES_MISMATCH);
1696 CASE_RETURN_STR(RPC_NT_SS_CANNOT_GET_CALL_HANDLE);
1697 CASE_RETURN_STR(RPC_NT_NULL_REF_POINTER);
1698 CASE_RETURN_STR(RPC_NT_ENUM_VALUE_OUT_OF_RANGE);
1699 CASE_RETURN_STR(RPC_NT_BYTE_COUNT_TOO_SMALL);
1700 CASE_RETURN_STR(RPC_NT_BAD_STUB_DATA);
1701 CASE_RETURN_STR(RPC_NT_CALL_IN_PROGRESS);
1702 CASE_RETURN_STR(RPC_NT_NO_MORE_BINDINGS);
1703 CASE_RETURN_STR(RPC_NT_GROUP_MEMBER_NOT_FOUND);
1704 CASE_RETURN_STR(EPT_NT_CANT_CREATE);
1705 CASE_RETURN_STR(RPC_NT_INVALID_OBJECT);
1706 CASE_RETURN_STR(RPC_NT_NO_INTERFACES);
1707 CASE_RETURN_STR(RPC_NT_CALL_CANCELLED);
1708 CASE_RETURN_STR(RPC_NT_BINDING_INCOMPLETE);
1709 CASE_RETURN_STR(RPC_NT_COMM_FAILURE);
1710 CASE_RETURN_STR(RPC_NT_UNSUPPORTED_AUTHN_LEVEL);
1711 CASE_RETURN_STR(RPC_NT_NO_PRINC_NAME);
1712 CASE_RETURN_STR(RPC_NT_NOT_RPC_ERROR);
1713 CASE_RETURN_STR(RPC_NT_UUID_LOCAL_ONLY);
1714 CASE_RETURN_STR(RPC_NT_SEC_PKG_ERROR);
1715 CASE_RETURN_STR(RPC_NT_NOT_CANCELLED);
1716 CASE_RETURN_STR(RPC_NT_INVALID_ES_ACTION);
1717 CASE_RETURN_STR(RPC_NT_WRONG_ES_VERSION);
1718 CASE_RETURN_STR(RPC_NT_WRONG_STUB_VERSION);
1719 CASE_RETURN_STR(RPC_NT_INVALID_PIPE_OBJECT);
1720 CASE_RETURN_STR(RPC_NT_INVALID_PIPE_OPERATION);
1721 CASE_RETURN_STR(RPC_NT_WRONG_PIPE_VERSION);
1722 CASE_RETURN_STR(RPC_NT_PIPE_CLOSED);
1723 CASE_RETURN_STR(RPC_NT_PIPE_DISCIPLINE_ERROR);
1724 CASE_RETURN_STR(RPC_NT_PIPE_EMPTY);
1725 CASE_RETURN_STR(RPC_NT_INVALID_ASYNC_HANDLE);
1726 CASE_RETURN_STR(RPC_NT_INVALID_ASYNC_CALL);
1727 CASE_RETURN_STR(RPC_NT_SEND_INCOMPLETE);
1728 CASE_RETURN_STR(STATUS_ACPI_INVALID_OPCODE);
1729 CASE_RETURN_STR(STATUS_ACPI_STACK_OVERFLOW);
1730 CASE_RETURN_STR(STATUS_ACPI_ASSERT_FAILED);
1731 CASE_RETURN_STR(STATUS_ACPI_INVALID_INDEX);
1732 CASE_RETURN_STR(STATUS_ACPI_INVALID_ARGUMENT);
1733 CASE_RETURN_STR(STATUS_ACPI_FATAL);
1734 CASE_RETURN_STR(STATUS_ACPI_INVALID_SUPERNAME);
1735 CASE_RETURN_STR(STATUS_ACPI_INVALID_ARGTYPE);
1736 CASE_RETURN_STR(STATUS_ACPI_INVALID_OBJTYPE);
1737 CASE_RETURN_STR(STATUS_ACPI_INVALID_TARGETTYPE);
1738 CASE_RETURN_STR(STATUS_ACPI_INCORRECT_ARGUMENT_COUNT);
1739 CASE_RETURN_STR(STATUS_ACPI_ADDRESS_NOT_MAPPED);
1740 CASE_RETURN_STR(STATUS_ACPI_INVALID_EVENTTYPE);
1741 CASE_RETURN_STR(STATUS_ACPI_HANDLER_COLLISION);
1742 CASE_RETURN_STR(STATUS_ACPI_INVALID_DATA);
1743 CASE_RETURN_STR(STATUS_ACPI_INVALID_REGION);
1744 CASE_RETURN_STR(STATUS_ACPI_INVALID_ACCESS_SIZE);
1745 CASE_RETURN_STR(STATUS_ACPI_ACQUIRE_GLOBAL_LOCK);
1746 CASE_RETURN_STR(STATUS_ACPI_ALREADY_INITIALIZED);
1747 CASE_RETURN_STR(STATUS_ACPI_NOT_INITIALIZED);
1748 CASE_RETURN_STR(STATUS_ACPI_INVALID_MUTEX_LEVEL);
1749 CASE_RETURN_STR(STATUS_ACPI_MUTEX_NOT_OWNED);
1750 CASE_RETURN_STR(STATUS_ACPI_MUTEX_NOT_OWNER);
1751 CASE_RETURN_STR(STATUS_ACPI_RS_ACCESS);
1752 CASE_RETURN_STR(STATUS_ACPI_INVALID_TABLE);
1753 CASE_RETURN_STR(STATUS_ACPI_REG_HANDLER_FAILED);
1754 CASE_RETURN_STR(STATUS_ACPI_POWER_REQUEST_FAILED);
1755 CASE_RETURN_STR(STATUS_CTX_WINSTATION_NAME_INVALID);
1756 CASE_RETURN_STR(STATUS_CTX_INVALID_PD);
1757 CASE_RETURN_STR(STATUS_CTX_PD_NOT_FOUND);
1758 CASE_RETURN_STR(STATUS_CTX_CDM_CONNECT);
1759 CASE_RETURN_STR(STATUS_CTX_CDM_DISCONNECT);
1760 CASE_RETURN_STR(STATUS_CTX_CLOSE_PENDING);
1761 CASE_RETURN_STR(STATUS_CTX_NO_OUTBUF);
1762 CASE_RETURN_STR(STATUS_CTX_MODEM_INF_NOT_FOUND);
1763 CASE_RETURN_STR(STATUS_CTX_INVALID_MODEMNAME);
1764 CASE_RETURN_STR(STATUS_CTX_RESPONSE_ERROR);
1765 CASE_RETURN_STR(STATUS_CTX_MODEM_RESPONSE_TIMEOUT);
1766 CASE_RETURN_STR(STATUS_CTX_MODEM_RESPONSE_NO_CARRIER);
1767 CASE_RETURN_STR(STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE);
1768 CASE_RETURN_STR(STATUS_CTX_MODEM_RESPONSE_BUSY);
1769 CASE_RETURN_STR(STATUS_CTX_MODEM_RESPONSE_VOICE);
1770 CASE_RETURN_STR(STATUS_CTX_TD_ERROR);
1771 CASE_RETURN_STR(STATUS_CTX_LICENSE_CLIENT_INVALID);
1772 CASE_RETURN_STR(STATUS_CTX_LICENSE_NOT_AVAILABLE);
1773 CASE_RETURN_STR(STATUS_CTX_LICENSE_EXPIRED);
1774 CASE_RETURN_STR(STATUS_CTX_WINSTATION_NOT_FOUND);
1775 CASE_RETURN_STR(STATUS_CTX_WINSTATION_NAME_COLLISION);
1776 CASE_RETURN_STR(STATUS_CTX_WINSTATION_BUSY);
1777 CASE_RETURN_STR(STATUS_CTX_BAD_VIDEO_MODE);
1778 CASE_RETURN_STR(STATUS_CTX_GRAPHICS_INVALID);
1779 CASE_RETURN_STR(STATUS_CTX_NOT_CONSOLE);
1780 CASE_RETURN_STR(STATUS_CTX_CLIENT_QUERY_TIMEOUT);
1781 CASE_RETURN_STR(STATUS_CTX_CONSOLE_DISCONNECT);
1782 CASE_RETURN_STR(STATUS_CTX_CONSOLE_CONNECT);
1783 CASE_RETURN_STR(STATUS_CTX_SHADOW_DENIED);
1784 CASE_RETURN_STR(STATUS_CTX_WINSTATION_ACCESS_DENIED);
1785 CASE_RETURN_STR(STATUS_CTX_INVALID_WD);
1786 CASE_RETURN_STR(STATUS_CTX_WD_NOT_FOUND);
1787 CASE_RETURN_STR(STATUS_CTX_SHADOW_INVALID);
1788 CASE_RETURN_STR(STATUS_CTX_SHADOW_DISABLED);
1789 CASE_RETURN_STR(STATUS_RDP_PROTOCOL_ERROR);
1790 CASE_RETURN_STR(STATUS_CTX_CLIENT_LICENSE_NOT_SET);
1791 CASE_RETURN_STR(STATUS_CTX_CLIENT_LICENSE_IN_USE);
1792 CASE_RETURN_STR(STATUS_PNP_BAD_MPS_TABLE);
1793 CASE_RETURN_STR(STATUS_PNP_TRANSLATION_FAILED);
1794 CASE_RETURN_STR(STATUS_PNP_IRQ_TRANSLATION_FAILED);
1795 default:
1796 return "Unknown";
1797 }
1798 }
1799 #endif // DBG