ReactOS  0.4.14-dev-52-g6116262
debug.c
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYRIGHT.TXT
3  * PROJECT: Ext2 File System Driver for WinNT/2K/XP
4  * FILE: Debug.c
5  * PROGRAMMER: Matt Wu <mattwu@163.com>
6  * HOMEPAGE: http://www.ext2fsd.com
7  * UPDATE HISTORY:
8  */
9 
10 /* INCLUDES **************************************************************/
11 
12 #include "stdarg.h"
13 #include "ext2fs.h"
14 
15 /* GLOBALS ***************************************************************/
16 
17 #if EXT2_DEBUG
18 
19 #define SYSTEM_PROCESS_NAME "System"
20 
22 
23 ULONG DebugFilter = DL_DEFAULT;
24 
26 
27 /* DEFINITIONS ***********************************************************/
28 
29 
30 /* Static Definitions ****************************************************/
31 
32 static PUCHAR IrpMjStrings[] = {
33  "IRP_MJ_CREATE",
34  "IRP_MJ_CREATE_NAMED_PIPE",
35  "IRP_MJ_CLOSE",
36  "IRP_MJ_READ",
37  "IRP_MJ_WRITE",
38  "IRP_MJ_QUERY_INFORMATION",
39  "IRP_MJ_SET_INFORMATION",
40  "IRP_MJ_QUERY_EA",
41  "IRP_MJ_SET_EA",
42  "IRP_MJ_FLUSH_BUFFERS",
43  "IRP_MJ_QUERY_VOLUME_INFORMATION",
44  "IRP_MJ_SET_VOLUME_INFORMATION",
45  "IRP_MJ_DIRECTORY_CONTROL",
46  "IRP_MJ_FILE_SYSTEM_CONTROL",
47  "IRP_MJ_DEVICE_CONTROL",
48  "IRP_MJ_INTERNAL_DEVICE_CONTROL",
49  "IRP_MJ_SHUTDOWN",
50  "IRP_MJ_LOCK_CONTROL",
51  "IRP_MJ_CLEANUP",
52  "IRP_MJ_CREATE_MAILSLOT",
53  "IRP_MJ_QUERY_SECURITY",
54  "IRP_MJ_SET_SECURITY",
55  "IRP_MJ_POWER",
56  "IRP_MJ_SYSTEM_CONTROL",
57  "IRP_MJ_DEVICE_CHANGE",
58  "IRP_MJ_QUERY_QUOTA",
59  "IRP_MJ_SET_QUOTA",
60  "IRP_MJ_PNP"
61 };
62 
63 static PUCHAR FileInformationClassStrings[] = {
64  "Unknown FileInformationClass 0",
65  "FileDirectoryInformation",
66  "FileFullDirectoryInformation",
67  "FileBothDirectoryInformation",
68  "FileBasicInformation",
69  "FileStandardInformation",
70  "FileInternalInformation",
71  "FileEaInformation",
72  "FileAccessInformation",
73  "FileNameInformation",
74  "FileRenameInformation",
75  "FileLinkInformation",
76  "FileNamesInformation",
77  "FileDispositionInformation",
78  "FilePositionInformation",
79  "FileFullEaInformation",
80  "FileModeInformation",
81  "FileAlignmentInformation",
82  "FileAllInformation",
83  "FileAllocationInformation",
84  "FileEndOfFileInformation",
85  "FileAlternateNameInformation",
86  "FileStreamInformation",
87  "FilePipeInformation",
88  "FilePipeLocalInformation",
89  "FilePipeRemoteInformation",
90  "FileMailslotQueryInformation",
91  "FileMailslotSetInformation",
92  "FileCompressionInformation",
93  "FileObjectIdInformation",
94  "FileCompletionInformation",
95  "FileMoveClusterInformation",
96  "FileQuotaInformation",
97  "FileReparsePointInformation",
98  "FileNetworkOpenInformation",
99  "FileAttributeTagInformation",
100  "FileTrackingInformation"
101 };
102 
103 static PUCHAR FsInformationClassStrings[] = {
104  "Unknown FsInformationClass 0",
105  "FileFsVolumeInformation",
106  "FileFsLabelInformation",
107  "FileFsSizeInformation",
108  "FileFsDeviceInformation",
109  "FileFsAttributeInformation",
110  "FileFsControlInformation",
111  "FileFsFullSizeInformation",
112  "FileFsObjectIdInformation"
113 };
114 
115 /*
116  * Ext2Printf
117  * This function is variable-argument, level-sensitive debug print routine.
118  * If the specified debug level for the print statement is lower or equal
119  * to the current debug level, the message will be printed.
120  *
121  * Arguments:
122  * DebugMessage - Variable argument ascii c string
123  *
124  * Return Value:
125  * N/A
126  *
127  * NOTES:
128  * N/A
129  */
130 
131 #define DBG_BUF_LEN 0x100
132 VOID
133 Ext2Printf(
134  PCHAR DebugMessage,
135  ...
136 )
137 {
138  va_list ap;
139  LARGE_INTEGER CurrentTime;
141  CHAR Buffer[DBG_BUF_LEN];
142  ULONG i;
143 
144  RtlZeroMemory(Buffer, DBG_BUF_LEN);
145  va_start(ap, DebugMessage);
146 
147  KeQuerySystemTime( &CurrentTime);
148  RtlTimeToTimeFields(&CurrentTime, &TimeFields);
149  _vsnprintf(&Buffer[0], DBG_BUF_LEN, DebugMessage, ap);
150 
151  DbgPrint(DRIVER_NAME":~%d: %2.2d:%2.2d:%2.2d:%3.3d %8.8x: %s",
156 
157  va_end(ap);
158 }
159 
160 VOID
161 Ext2NiPrintf(
162  PCHAR DebugMessage,
163  ...
164 )
165 {
166  va_list ap;
167  LARGE_INTEGER CurrentTime;
169  CHAR Buffer[0x100];
170  ULONG i;
171 
172  va_start(ap, DebugMessage);
173 
174  KeQuerySystemTime( &CurrentTime);
175  RtlTimeToTimeFields(&CurrentTime, &TimeFields);
176  _vsnprintf(&Buffer[0], 0x100, DebugMessage, ap);
177 
178  DbgPrint(DRIVER_NAME":~%d: %2.2d:%2.2d:%2.2d:%3.3d %8.8x: %s",
183 
184  va_end(ap);
185 
186 } // Ext2NiPrintf()
187 
188 ULONG
190 {
192  ULONG i;
193 
195 
196  for (i = 0; i < PAGE_SIZE; i++) {
197  if (!strncmp(
198  SYSTEM_PROCESS_NAME,
199  (PCHAR) Process + i,
200  strlen(SYSTEM_PROCESS_NAME)
201  )) {
202 
203  return i;
204  }
205  }
206 
207  DEBUG(DL_ERR, ( ": *** FsdGetProcessNameOffset failed ***\n"));
208 
209  return 0;
210 }
211 
212 
213 VOID
215  IN PIRP Irp )
216 {
217  PIO_STACK_LOCATION IoStackLocation;
220  PEXT2_FCB Fcb;
223 
224  IoStackLocation = IoGetCurrentIrpStackLocation(Irp);
225 
226  FileObject = IoStackLocation->FileObject;
227 
228  FileName = L"Unknown";
229 
231 
233 
234  } else if (DeviceObject == Ext2Global->CdromdevObject) {
235 
237 
238  } else if (FileObject && FileObject->FsContext) {
239 
240  Fcb = (PEXT2_FCB) FileObject->FsContext;
241 
242  if (Fcb->Identifier.Type == EXT2VCB) {
243  FileName = L"\\Volume";
244  } else if (Fcb->Identifier.Type == EXT2FCB && Fcb->Mcb->FullName.Buffer) {
245  FileName = Fcb->Mcb->FullName.Buffer;
246  }
247  }
248 
249  switch (IoStackLocation->MajorFunction) {
250 
251  case IRP_MJ_CREATE:
252 
253  FileName = NULL;
254 
257  } else if (DeviceObject == Ext2Global->CdromdevObject) {
259  } else if (IoStackLocation->FileObject->FileName.Length == 0) {
260  FileName = L"\\Volume";
261  }
262 
263  if (FileName) {
264  DEBUGNI(DL_FUN, ("%s %s %S\n",
266  IrpMjStrings[IoStackLocation->MajorFunction],
267  FileName
268  ));
269  } else if (IoStackLocation->FileObject->FileName.Buffer) {
270  DEBUGNI(DL_FUN, ("%s %s %S\n",
272  IrpMjStrings[IoStackLocation->MajorFunction],
273  IoStackLocation->FileObject->FileName.Buffer
274  ));
275  } else {
276  DEBUGNI(DL_FUN, ("%s %s %s\n",
278  IrpMjStrings[IoStackLocation->MajorFunction],
279  "Unknown"
280  ));
281  }
282 
283  break;
284 
285  case IRP_MJ_CLOSE:
286 
287  DEBUGNI(DL_FUN, ("%s %s %S\n",
289  IrpMjStrings[IoStackLocation->MajorFunction],
290  FileName
291  ));
292 
293  break;
294 
295  case IRP_MJ_READ:
296 
297  if (IoStackLocation->MinorFunction & IRP_MN_COMPLETE) {
298  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_COMPLETE\n",
300  IrpMjStrings[IoStackLocation->MajorFunction],
301  FileName
302  ));
303  } else {
304  DEBUGNI(DL_FUN, ("%s %s %S Offset: %I64xh Length: %xh %s%s%s%s%s%s\n",
306  IrpMjStrings[IoStackLocation->MajorFunction],
307  FileName,
308  IoStackLocation->Parameters.Read.ByteOffset.QuadPart,
309  IoStackLocation->Parameters.Read.Length,
310  (IoStackLocation->MinorFunction & IRP_MN_DPC ? "IRP_MN_DPC " : " "),
311  (IoStackLocation->MinorFunction & IRP_MN_MDL ? "IRP_MN_MDL " : " "),
312  (IoStackLocation->MinorFunction & IRP_MN_COMPRESSED ? "IRP_MN_COMPRESSED " : " "),
313  (Irp->Flags & IRP_PAGING_IO ? "IRP_PAGING_IO " : " "),
314  (Irp->Flags & IRP_NOCACHE ? "IRP_NOCACHE " : " "),
315  (FileObject->Flags & FO_SYNCHRONOUS_IO ? "FO_SYNCHRONOUS_IO " : " ")
316  ));
317  }
318 
319  break;
320 
321  case IRP_MJ_WRITE:
322 
323  if (IoStackLocation->MinorFunction & IRP_MN_COMPLETE) {
324  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_COMPLETE\n",
326  IrpMjStrings[IoStackLocation->MajorFunction],
327  FileName
328  ));
329  } else {
330  DEBUGNI(DL_FUN, ("%s %s %S Offset: %I64xh Length: %xh %s%s%s%s%s%s\n",
332  IrpMjStrings[IoStackLocation->MajorFunction],
333  FileName,
334  IoStackLocation->Parameters.Read.ByteOffset.QuadPart,
335  IoStackLocation->Parameters.Read.Length,
336  (IoStackLocation->MinorFunction & IRP_MN_DPC ? "IRP_MN_DPC " : " "),
337  (IoStackLocation->MinorFunction & IRP_MN_MDL ? "IRP_MN_MDL " : " "),
338  (IoStackLocation->MinorFunction & IRP_MN_COMPRESSED ? "IRP_MN_COMPRESSED " : " "),
339  (Irp->Flags & IRP_PAGING_IO ? "IRP_PAGING_IO " : " "),
340  (Irp->Flags & IRP_NOCACHE ? "IRP_NOCACHE " : " "),
341  (FileObject->Flags & FO_SYNCHRONOUS_IO ? "FO_SYNCHRONOUS_IO " : " ")
342  ));
343  }
344 
345  break;
346 
348 
350  IoStackLocation->Parameters.QueryFile.FileInformationClass;
351 
353  DEBUGNI(DL_FUN, ("%s %s %S %s\n",
355  IrpMjStrings[IoStackLocation->MajorFunction],
356  FileName,
357  FileInformationClassStrings[FileInformationClass]
358  ));
359  } else {
360  DEBUGNI(DL_FUN, ("%s %s %S Unknown FileInformationClass %u\n",
362  IrpMjStrings[IoStackLocation->MajorFunction],
363  FileName,
365  ));
366  }
367 
368  break;
369 
371 
373  IoStackLocation->Parameters.SetFile.FileInformationClass;
374 
376  DEBUGNI(DL_FUN, ("%s %s %S %s\n",
378  IrpMjStrings[IoStackLocation->MajorFunction],
379  FileName,
380  FileInformationClassStrings[FileInformationClass]
381  ));
382  } else {
383  DEBUGNI(DL_FUN, ("%s %s %S Unknown FileInformationClass %u\n",
385  IrpMjStrings[IoStackLocation->MajorFunction],
386  FileName,
388  ));
389  }
390 
391  break;
392 
394 
396  IoStackLocation->Parameters.QueryVolume.FsInformationClass;
397 
399  DEBUGNI(DL_FUN, ("%s %s %S %s\n",
401  IrpMjStrings[IoStackLocation->MajorFunction],
402  FileName,
403  FsInformationClassStrings[FsInformationClass]
404  ));
405  } else {
406  DEBUGNI(DL_FUN, ("%s %s %S Unknown FsInformationClass %u\n",
408  IrpMjStrings[IoStackLocation->MajorFunction],
409  FileName,
411  ));
412  }
413 
414  break;
415 
417 
418  if (IoStackLocation->MinorFunction & IRP_MN_QUERY_DIRECTORY) {
419 
420 #ifndef _GNU_NTIFS_
422  IoStackLocation->Parameters.QueryDirectory.FileInformationClass;
423 #else
425  IoStackLocation)->Parameters.QueryDirectory.FileInformationClass;
426 #endif
427 
429  DEBUGNI(DL_FUN, ("%s %s %S %s\n",
431  IrpMjStrings[IoStackLocation->MajorFunction],
432  FileName,
433  FileInformationClassStrings[FileInformationClass]
434  ));
435 
436  if (
437 #ifndef _GNU_NTIFS_
438  IoStackLocation->Parameters.QueryDirectory.FileName
439 #else
441  IoStackLocation)->Parameters.QueryDirectory.FileName
442 #endif
443  ) {
444 #ifndef _GNU_NTIFS_
445  DEBUGNI(DL_FUN, ("%s FileName: %.*S FileIndex: %x %s%s%s\n",
447 
448  IoStackLocation->Parameters.QueryDirectory.FileName->Length / 2,
449  IoStackLocation->Parameters.QueryDirectory.FileName->Buffer,
450  IoStackLocation->Parameters.QueryDirectory.FileIndex,
451  (IoStackLocation->Flags & SL_RESTART_SCAN ? "SL_RESTART_SCAN " : ""),
452  (IoStackLocation->Flags & SL_RETURN_SINGLE_ENTRY ? "SL_RETURN_SINGLE_ENTRY " : ""),
453  ((IoStackLocation->Flags & SL_INDEX_SPECIFIED) ? "SL_INDEX_SPECIFIED " : "")
454  ));
455 
456 #else
457  DEBUGNI(DL_FUN, ("%s FileName: %.*S FileIndex: %x %s%s%s\n",
459 
461  IoStackLocation)->Parameters.QueryDirectory.FileName->Length / 2,
463  IoStackLocation)->Parameters.QueryDirectory.FileName->Buffer,
465  IoStackLocation)->Parameters.QueryDirectory.FileIndex,
466  (IoStackLocation->Flags & SL_RESTART_SCAN ? "SL_RESTART_SCAN " : ""),
467  (IoStackLocation->Flags & SL_RETURN_SINGLE_ENTRY ? "SL_RETURN_SINGLE_ENTRY " : ""),
468  ((IoStackLocation->Flags & SL_INDEX_SPECIFIED) ? "SL_INDEX_SPECIFIED " : "")
469  ));
470 #endif
471  } else {
472 #ifndef _GNU_NTIFS_
473  DEBUGNI(DL_FUN, ("%s FileName: FileIndex: %#x %s%s%s\n",
475  IoStackLocation->Parameters.QueryDirectory.FileIndex,
476  (IoStackLocation->Flags & SL_RESTART_SCAN ? "SL_RESTART_SCAN " : ""),
477  (IoStackLocation->Flags & SL_RETURN_SINGLE_ENTRY ? "SL_RETURN_SINGLE_ENTRY " : ""),
478  (IoStackLocation->Flags & SL_INDEX_SPECIFIED ? "SL_INDEX_SPECIFIED " : "")
479  ));
480 #else
481  DEBUGNI(DL_FUN, ("%s FileName: FileIndex: %#x %s%s%s\n",
484  IoStackLocation)->Parameters.QueryDirectory.FileIndex,
485  (IoStackLocation->Flags & SL_RESTART_SCAN ? "SL_RESTART_SCAN " : ""),
486  (IoStackLocation->Flags & SL_RETURN_SINGLE_ENTRY ? "SL_RETURN_SINGLE_ENTRY " : ""),
487  (IoStackLocation->Flags & SL_INDEX_SPECIFIED ? "SL_INDEX_SPECIFIED " : "")
488  ));
489 #endif
490  }
491  } else {
492  DEBUGNI(DL_FUN, ("%s %s %S Unknown FileInformationClass %u\n",
494  IrpMjStrings[IoStackLocation->MajorFunction],
495  FileName,
497  ));
498  }
499  } else if (IoStackLocation->MinorFunction & IRP_MN_NOTIFY_CHANGE_DIRECTORY) {
500  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_NOTIFY_CHANGE_DIRECTORY\n",
502  IrpMjStrings[IoStackLocation->MajorFunction],
503  FileName
504  ));
505  } else {
506  DEBUGNI(DL_FUN, ("%s %s %S Unknown minor function %#x\n",
508  IrpMjStrings[IoStackLocation->MajorFunction],
509  FileName,
510  IoStackLocation->MinorFunction
511  ));
512  }
513 
514  break;
515 
517 
518  if (IoStackLocation->MinorFunction == IRP_MN_USER_FS_REQUEST) {
519 #ifndef _GNU_NTIFS_
520  DEBUGNI(DL_FUN, ( "%s %s %S IRP_MN_USER_FS_REQUEST FsControlCode: %#x\n",
522  IrpMjStrings[IoStackLocation->MajorFunction],
523  FileName,
524  IoStackLocation->Parameters.FileSystemControl.FsControlCode
525  ));
526 #else
527  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_USER_FS_REQUEST FsControlCode: %#x\n",
529  IrpMjStrings[IoStackLocation->MajorFunction],
530  FileName,
532  IoStackLocation)->Parameters.FileSystemControl.FsControlCode
533  ));
534 #endif
535  } else if (IoStackLocation->MinorFunction == IRP_MN_MOUNT_VOLUME) {
536  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_MOUNT_VOLUME DeviceObject: %#x\n",
538  IrpMjStrings[IoStackLocation->MajorFunction],
539  FileName,
540  IoStackLocation->Parameters.MountVolume.DeviceObject
541  ));
542  } else if (IoStackLocation->MinorFunction == IRP_MN_VERIFY_VOLUME) {
543  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_VERIFY_VOLUME DeviceObject: %#x\n",
545  IrpMjStrings[IoStackLocation->MajorFunction],
546  FileName,
547  IoStackLocation->Parameters.VerifyVolume.DeviceObject
548  ));
549  } else if (IoStackLocation->MinorFunction == IRP_MN_LOAD_FILE_SYSTEM) {
550  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_LOAD_FILE_SYSTEM\n",
552  IrpMjStrings[IoStackLocation->MajorFunction],
553  FileName
554  ));
555  }
556 #if (_WIN32_WINNT >= 0x0500)
557  else if (IoStackLocation->MinorFunction == IRP_MN_KERNEL_CALL) {
558  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_KERNEL_CALL\n",
560  IrpMjStrings[IoStackLocation->MajorFunction],
561  FileName
562  ));
563  }
564 #endif // (_WIN32_WINNT >= 0x0500)
565  else {
566  DEBUGNI(DL_FUN, ("%s %s %S Unknown minor function %#x\n",
568  IrpMjStrings[IoStackLocation->MajorFunction],
569  FileName,
570  IoStackLocation->MinorFunction
571  ));
572  }
573 
574  break;
575 
577 
578  DEBUGNI(DL_FUN, ("%s %s %S IoControlCode: %#x\n",
580  IrpMjStrings[IoStackLocation->MajorFunction],
581  FileName,
582  IoStackLocation->Parameters.DeviceIoControl.IoControlCode
583  ));
584 
585  break;
586 
587  case IRP_MJ_LOCK_CONTROL:
588 
589  if (IoStackLocation->MinorFunction & IRP_MN_LOCK) {
590 #ifndef _GNU_NTIFS_
591  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_LOCK Offset: %I64xh Length: %I64xh Key: %u %s%s\n",
593  IrpMjStrings[IoStackLocation->MajorFunction],
594  FileName,
595  IoStackLocation->Parameters.LockControl.ByteOffset.QuadPart,
596  IoStackLocation->Parameters.LockControl.Length->QuadPart,
597  IoStackLocation->Parameters.LockControl.Key,
598  (IoStackLocation->Flags & SL_FAIL_IMMEDIATELY ? "SL_FAIL_IMMEDIATELY " : ""),
599  (IoStackLocation->Flags & SL_EXCLUSIVE_LOCK ? "SL_EXCLUSIVE_LOCK " : "")
600  ));
601 #else
602  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_LOCK Offset: %I64xh Length: %I64xh Key: %u %s%s\n",
604  IrpMjStrings[IoStackLocation->MajorFunction],
605  FileName,
607  IoStackLocation)->Parameters.LockControl.ByteOffset.QuadPart,
609  IoStackLocation)->Parameters.LockControl.Length->QuadPart,
611  IoStackLocation)->Parameters.LockControl.Key,
612  (IoStackLocation->Flags & SL_FAIL_IMMEDIATELY ? "SL_FAIL_IMMEDIATELY " : ""),
613  (IoStackLocation->Flags & SL_EXCLUSIVE_LOCK ? "SL_EXCLUSIVE_LOCK " : "")
614  ));
615 #endif
616  } else if (IoStackLocation->MinorFunction & IRP_MN_UNLOCK_SINGLE) {
617 #ifndef _GNU_NTIFS_
618  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_UNLOCK_SINGLE Offset: %I64xh Length: %I64xh Key: %u\n",
620  IrpMjStrings[IoStackLocation->MajorFunction],
621  FileName,
622  IoStackLocation->Parameters.LockControl.ByteOffset.QuadPart,
623  IoStackLocation->Parameters.LockControl.Length->QuadPart,
624  IoStackLocation->Parameters.LockControl.Key
625  ));
626 #else
627  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_UNLOCK_SINGLE Offset: %I64xh Length: %I64xh Key: %u\n",
629  IrpMjStrings[IoStackLocation->MajorFunction],
630  FileName,
632  IoStackLocation)->Parameters.LockControl.ByteOffset.QuadPart,
634  IoStackLocation)->Parameters.LockControl.Length->QuadPart,
636  IoStackLocation)->Parameters.LockControl.Key
637  ));
638 #endif
639  } else if (IoStackLocation->MinorFunction & IRP_MN_UNLOCK_ALL) {
640  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_UNLOCK_ALL\n",
642  IrpMjStrings[IoStackLocation->MajorFunction],
643  FileName
644  ));
645  } else if (IoStackLocation->MinorFunction & IRP_MN_UNLOCK_ALL_BY_KEY) {
646 #ifndef _GNU_NTIFS_
647  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_UNLOCK_ALL_BY_KEY Key: %u\n",
649  IrpMjStrings[IoStackLocation->MajorFunction],
650  FileName,
651  IoStackLocation->Parameters.LockControl.Key
652  ));
653 #else
654  DEBUGNI(DL_FUN, ("%s %s %S IRP_MN_UNLOCK_ALL_BY_KEY Key: %u\n",
656  IrpMjStrings[IoStackLocation->MajorFunction],
657  FileName,
659  IoStackLocation)->Parameters.LockControl.Key
660  ));
661 #endif
662  } else {
663  DEBUGNI(DL_FUN, ("%s %s %S Unknown minor function %#x\n",
665  IrpMjStrings[IoStackLocation->MajorFunction],
666  FileName,
667  IoStackLocation->MinorFunction
668  ));
669  }
670 
671  break;
672 
673  case IRP_MJ_CLEANUP:
674 
675  DEBUGNI(DL_FUN, ("%s %s %S\n",
677  IrpMjStrings[IoStackLocation->MajorFunction],
678  FileName
679  ));
680 
681  break;
682 
683  case IRP_MJ_SHUTDOWN:
684 
685  DEBUGNI(DL_FUN, ("%s %s %S\n",
687  IrpMjStrings[IoStackLocation->MajorFunction],
688  FileName
689  ));
690 
691  break;
692 
693 #if (_WIN32_WINNT >= 0x0500)
694  case IRP_MJ_PNP:
695 
696  DEBUGNI(DL_FUN, ( "%s %s %S\n",
698  IrpMjStrings[IoStackLocation->MajorFunction],
699  FileName
700  ));
701  break;
702 #endif // (_WIN32_WINNT >= 0x0500)
703 
704  default:
705 
706  DEBUGNI(DL_FUN, ("%s %s %S\n",
708  IrpMjStrings[IoStackLocation->MajorFunction],
709  FileName
710  ));
711  }
712 }
713 
714 VOID
716 {
717  PIO_STACK_LOCATION IoStackLocation;
718 
719  if (!Irp)
720  return;
721 
722  if (Irp->IoStatus.Status != STATUS_SUCCESS) {
723 
724  IoStackLocation = IoGetCurrentIrpStackLocation(Irp);
725 
726  if (bPrint) {
727  DEBUGNI(DL_FUN, ("%s %s Status: %s (%#x).\n",
729  IrpMjStrings[IoStackLocation->MajorFunction],
730  Ext2NtStatusToString(Irp->IoStatus.Status),
731  Irp->IoStatus.Status
732  ));
733  }
734  }
735 }
736 
737 PUCHAR
739 {
740  switch (Status) {
741 
742  case 0x00000000:
743  return "STATUS_SUCCESS";
744  case 0x00000001:
745  return "STATUS_WAIT_1";
746  case 0x00000002:
747  return "STATUS_WAIT_2";
748  case 0x00000003:
749  return "STATUS_WAIT_3";
750  case 0x0000003F:
751  return "STATUS_WAIT_63";
752  case 0x00000080:
753  return "STATUS_ABANDONED_WAIT_0";
754  case 0x000000BF:
755  return "STATUS_ABANDONED_WAIT_63";
756  case 0x000000C0:
757  return "STATUS_USER_APC";
758  case 0x00000100:
759  return "STATUS_KERNEL_APC";
760  case 0x00000101:
761  return "STATUS_ALERTED";
762  case 0x00000102:
763  return "STATUS_TIMEOUT";
764  case 0x00000103:
765  return "STATUS_PENDING";
766  case 0x00000104:
767  return "STATUS_REPARSE";
768  case 0x00000105:
769  return "STATUS_MORE_ENTRIES";
770  case 0x00000106:
771  return "STATUS_NOT_ALL_ASSIGNED";
772  case 0x00000107:
773  return "STATUS_SOME_NOT_MAPPED";
774  case 0x00000108:
775  return "STATUS_OPLOCK_BREAK_IN_PROGRESS";
776  case 0x00000109:
777  return "STATUS_VOLUME_MOUNTED";
778  case 0x0000010A:
779  return "STATUS_RXACT_COMMITTED";
780  case 0x0000010B:
781  return "STATUS_NOTIFY_CLEANUP";
782  case 0x0000010C:
783  return "STATUS_NOTIFY_ENUM_DIR";
784  case 0x0000010D:
785  return "STATUS_NO_QUOTAS_FOR_ACCOUNT";
786  case 0x0000010E:
787  return "STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED";
788  case 0x00000110:
789  return "STATUS_PAGE_FAULT_TRANSITION";
790  case 0x00000111:
791  return "STATUS_PAGE_FAULT_DEMAND_ZERO";
792  case 0x00000112:
793  return "STATUS_PAGE_FAULT_COPY_ON_WRITE";
794  case 0x00000113:
795  return "STATUS_PAGE_FAULT_GUARD_PAGE";
796  case 0x00000114:
797  return "STATUS_PAGE_FAULT_PAGING_FILE";
798  case 0x00000115:
799  return "STATUS_CACHE_PAGE_LOCKED";
800  case 0x00000116:
801  return "STATUS_CRASH_DUMP";
802  case 0x00000117:
803  return "STATUS_BUFFER_ALL_ZEROS";
804  case 0x00000118:
805  return "STATUS_REPARSE_OBJECT";
806  case 0x00000119:
807  return "STATUS_RESOURCE_REQUIREMENTS_CHANGED";
808  case 0x00000120:
809  return "STATUS_TRANSLATION_COMPLETE";
810  case 0x00000121:
811  return "STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY";
812  case 0x00010001:
813  return "DBG_EXCEPTION_HANDLED";
814  case 0x00010002:
815  return "DBG_CONTINUE";
816  case 0x40000000:
817  return "STATUS_OBJECT_NAME_EXISTS";
818  case 0x40000001:
819  return "STATUS_THREAD_WAS_SUSPENDED";
820  case 0x40000002:
821  return "STATUS_WORKING_SET_LIMIT_RANGE";
822  case 0x40000003:
823  return "STATUS_IMAGE_NOT_AT_BASE";
824  case 0x40000004:
825  return "STATUS_RXACT_STATE_CREATED";
826  case 0x40000005:
827  return "STATUS_SEGMENT_NOTIFICATION";
828  case 0x40000006:
829  return "STATUS_LOCAL_USER_SESSION_KEY";
830  case 0x40000007:
831  return "STATUS_BAD_CURRENT_DIRECTORY";
832  case 0x40000008:
833  return "STATUS_SERIAL_MORE_WRITES";
834  case 0x40000009:
835  return "STATUS_REGISTRY_RECOVERED";
836  case 0x4000000A:
837  return "STATUS_FT_READ_RECOVERY_FROM_BACKUP";
838  case 0x4000000B:
839  return "STATUS_FT_WRITE_RECOVERY";
840  case 0x4000000C:
841  return "STATUS_SERIAL_COUNTER_TIMEOUT";
842  case 0x4000000D:
843  return "STATUS_NULL_LM_PASSWORD";
844  case 0x4000000E:
845  return "STATUS_IMAGE_MACHINE_TYPE_MISMATCH";
846  case 0x4000000F:
847  return "STATUS_RECEIVE_PARTIAL";
848  case 0x40000010:
849  return "STATUS_RECEIVE_EXPEDITED";
850  case 0x40000011:
851  return "STATUS_RECEIVE_PARTIAL_EXPEDITED";
852  case 0x40000012:
853  return "STATUS_EVENT_DONE";
854  case 0x40000013:
855  return "STATUS_EVENT_PENDING";
856  case 0x40000014:
857  return "STATUS_CHECKING_FILE_SYSTEM";
858  case 0x40000015:
859  return "STATUS_FATAL_APP_EXIT";
860  case 0x40000016:
861  return "STATUS_PREDEFINED_HANDLE";
862  case 0x40000017:
863  return "STATUS_WAS_UNLOCKED";
864  case 0x40000018:
865  return "STATUS_SERVICE_NOTIFICATION";
866  case 0x40000019:
867  return "STATUS_WAS_LOCKED";
868  case 0x4000001A:
869  return "STATUS_LOG_HARD_ERROR";
870  case 0x4000001B:
871  return "STATUS_ALREADY_WIN32";
872  case 0x4000001C:
873  return "STATUS_WX86_UNSIMULATE";
874  case 0x4000001D:
875  return "STATUS_WX86_CONTINUE";
876  case 0x4000001E:
877  return "STATUS_WX86_SINGLE_STEP";
878  case 0x4000001F:
879  return "STATUS_WX86_BREAKPOINT";
880  case 0x40000020:
881  return "STATUS_WX86_EXCEPTION_CONTINUE";
882  case 0x40000021:
883  return "STATUS_WX86_EXCEPTION_LASTCHANCE";
884  case 0x40000022:
885  return "STATUS_WX86_EXCEPTION_CHAIN";
886  case 0x40000023:
887  return "STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE";
888  case 0x40000024:
889  return "STATUS_NO_YIELD_PERFORMED";
890  case 0x40000025:
891  return "STATUS_TIMER_RESUME_IGNORED";
892  case 0x40000026:
893  return "STATUS_ARBITRATION_UNHANDLED";
894  case 0x40000027:
895  return "STATUS_CARDBUS_NOT_SUPPORTED";
896  case 0x40000028:
897  return "STATUS_WX86_CREATEWX86TIB";
898  case 0x40000029:
899  return "STATUS_MP_PROCESSOR_MISMATCH";
900  case 0x40010001:
901  return "DBG_REPLY_LATER";
902  case 0x40010002:
903  return "DBG_UNABLE_TO_PROVIDE_HANDLE";
904  case 0x40010003:
905  return "DBG_TERMINATE_THREAD";
906  case 0x40010004:
907  return "DBG_TERMINATE_PROCESS";
908  case 0x40010005:
909  return "DBG_CONTROL_C";
910  case 0x40010006:
911  return "DBG_PRINTEXCEPTION_C";
912  case 0x40010007:
913  return "DBG_RIPEXCEPTION";
914  case 0x40010008:
915  return "DBG_CONTROL_BREAK";
916  case 0x80000001:
917  return "STATUS_GUARD_PAGE_VIOLATION";
918  case 0x80000002:
919  return "STATUS_DATATYPE_MISALIGNMENT";
920  case 0x80000003:
921  return "STATUS_BREAKPOINT";
922  case 0x80000004:
923  return "STATUS_SINGLE_STEP";
924  case 0x80000005:
925  return "STATUS_BUFFER_OVERFLOW";
926  case 0x80000006:
927  return "STATUS_NO_MORE_FILES";
928  case 0x80000007:
929  return "STATUS_WAKE_SYSTEM_DEBUGGER";
930  case 0x8000000A:
931  return "STATUS_HANDLES_CLOSED";
932  case 0x8000000B:
933  return "STATUS_NO_INHERITANCE";
934  case 0x8000000C:
935  return "STATUS_GUID_SUBSTITUTION_MADE";
936  case 0x8000000D:
937  return "STATUS_PARTIAL_COPY";
938  case 0x8000000E:
939  return "STATUS_DEVICE_PAPER_EMPTY";
940  case 0x8000000F:
941  return "STATUS_DEVICE_POWERED_OFF";
942  case 0x80000010:
943  return "STATUS_DEVICE_OFF_LINE";
944  case 0x80000011:
945  return "STATUS_DEVICE_BUSY";
946  case 0x80000012:
947  return "STATUS_NO_MORE_EAS";
948  case 0x80000013:
949  return "STATUS_INVALID_EA_NAME";
950  case 0x80000014:
951  return "STATUS_EA_LIST_INCONSISTENT";
952  case 0x80000015:
953  return "STATUS_INVALID_EA_FLAG";
954  case 0x80000016:
955  return "STATUS_VERIFY_REQUIRED";
956  case 0x80000017:
957  return "STATUS_EXTRANEOUS_INFORMATION";
958  case 0x80000018:
959  return "STATUS_RXACT_COMMIT_NECESSARY";
960  case 0x8000001A:
961  return "STATUS_NO_MORE_ENTRIES";
962  case 0x8000001B:
963  return "STATUS_FILEMARK_DETECTED";
964  case 0x8000001C:
965  return "STATUS_MEDIA_CHANGED";
966  case 0x8000001D:
967  return "STATUS_BUS_RESET";
968  case 0x8000001E:
969  return "STATUS_END_OF_MEDIA";
970  case 0x8000001F:
971  return "STATUS_BEGINNING_OF_MEDIA";
972  case 0x80000020:
973  return "STATUS_MEDIA_CHECK";
974  case 0x80000021:
975  return "STATUS_SETMARK_DETECTED";
976  case 0x80000022:
977  return "STATUS_NO_DATA_DETECTED";
978  case 0x80000023:
979  return "STATUS_REDIRECTOR_HAS_OPEN_HANDLES";
980  case 0x80000024:
981  return "STATUS_SERVER_HAS_OPEN_HANDLES";
982  case 0x80000025:
983  return "STATUS_ALREADY_DISCONNECTED";
984  case 0x80000026:
985  return "STATUS_LONGJUMP";
986  case 0x80010001:
987  return "DBG_EXCEPTION_NOT_HANDLED";
988  case 0xC0000001:
989  return "STATUS_UNSUCCESSFUL";
990  case 0xC0000002:
991  return "STATUS_NOT_IMPLEMENTED";
992  case 0xC0000003:
993  return "STATUS_INVALID_INFO_CLASS";
994  case 0xC0000004:
995  return "STATUS_INFO_LENGTH_MISMATCH";
996  case 0xC0000005:
997  return "STATUS_ACCESS_VIOLATION";
998  case 0xC0000006:
999  return "STATUS_IN_PAGE_ERROR";
1000  case 0xC0000007:
1001  return "STATUS_PAGEFILE_QUOTA";
1002  case 0xC0000008:
1003  return "STATUS_INVALID_HANDLE";
1004  case 0xC0000009:
1005  return "STATUS_BAD_INITIAL_STACK";
1006  case 0xC000000A:
1007  return "STATUS_BAD_INITIAL_PC";
1008  case 0xC000000B:
1009  return "STATUS_INVALID_CID";
1010  case 0xC000000C:
1011  return "STATUS_TIMER_NOT_CANCELED";
1012  case 0xC000000D:
1013  return "STATUS_INVALID_PARAMETER";
1014  case 0xC000000E:
1015  return "STATUS_NO_SUCH_DEVICE";
1016  case 0xC000000F:
1017  return "STATUS_NO_SUCH_FILE";
1018  case 0xC0000010:
1019  return "STATUS_INVALID_DEVICE_REQUEST";
1020  case 0xC0000011:
1021  return "STATUS_END_OF_FILE";
1022  case 0xC0000012:
1023  return "STATUS_WRONG_VOLUME";
1024  case 0xC0000013:
1025  return "STATUS_NO_MEDIA_IN_DEVICE";
1026  case 0xC0000014:
1027  return "STATUS_UNRECOGNIZED_MEDIA";
1028  case 0xC0000015:
1029  return "STATUS_NONEXISTENT_SECTOR";
1030  case 0xC0000016:
1031  return "STATUS_MORE_PROCESSING_REQUIRED";
1032  case 0xC0000017:
1033  return "STATUS_NO_MEMORY";
1034  case 0xC0000018:
1035  return "STATUS_CONFLICTING_ADDRESSES";
1036  case 0xC0000019:
1037  return "STATUS_NOT_MAPPED_VIEW";
1038  case 0xC000001A:
1039  return "STATUS_UNABLE_TO_FREE_VM";
1040  case 0xC000001B:
1041  return "STATUS_UNABLE_TO_DELETE_SECTION";
1042  case 0xC000001C:
1043  return "STATUS_INVALID_SYSTEM_SERVICE";
1044  case 0xC000001D:
1045  return "STATUS_ILLEGAL_INSTRUCTION";
1046  case 0xC000001E:
1047  return "STATUS_INVALID_LOCK_SEQUENCE";
1048  case 0xC000001F:
1049  return "STATUS_INVALID_VIEW_SIZE";
1050  case 0xC0000020:
1051  return "STATUS_INVALID_FILE_FOR_SECTION";
1052  case 0xC0000021:
1053  return "STATUS_ALREADY_COMMITTED";
1054  case 0xC0000022:
1055  return "STATUS_ACCESS_DENIED";
1056  case 0xC0000023:
1057  return "STATUS_BUFFER_TOO_SMALL";
1058  case 0xC0000024:
1059  return "STATUS_OBJECT_TYPE_MISMATCH";
1060  case 0xC0000025:
1061  return "STATUS_NONCONTINUABLE_EXCEPTION";
1062  case 0xC0000026:
1063  return "STATUS_INVALID_DISPOSITION";
1064  case 0xC0000027:
1065  return "STATUS_UNWIND";
1066  case 0xC0000028:
1067  return "STATUS_BAD_STACK";
1068  case 0xC0000029:
1069  return "STATUS_INVALID_UNWIND_TARGET";
1070  case 0xC000002A:
1071  return "STATUS_NOT_LOCKED";
1072  case 0xC000002B:
1073  return "STATUS_PARITY_ERROR";
1074  case 0xC000002C:
1075  return "STATUS_UNABLE_TO_DECOMMIT_VM";
1076  case 0xC000002D:
1077  return "STATUS_NOT_COMMITTED";
1078  case 0xC000002E:
1079  return "STATUS_INVALID_PORT_ATTRIBUTES";
1080  case 0xC000002F:
1081  return "STATUS_PORT_MESSAGE_TOO_LONG";
1082  case 0xC0000030:
1083  return "STATUS_INVALID_PARAMETER_MIX";
1084  case 0xC0000031:
1085  return "STATUS_INVALID_QUOTA_LOWER";
1086  case 0xC0000032:
1087  return "STATUS_DISK_CORRUPT_ERROR";
1088  case 0xC0000033:
1089  return "STATUS_OBJECT_NAME_INVALID";
1090  case 0xC0000034:
1091  return "STATUS_OBJECT_NAME_NOT_FOUND";
1092  case 0xC0000035:
1093  return "STATUS_OBJECT_NAME_COLLISION";
1094  case 0xC0000037:
1095  return "STATUS_PORT_DISCONNECTED";
1096  case 0xC0000038:
1097  return "STATUS_DEVICE_ALREADY_ATTACHED";
1098  case 0xC0000039:
1099  return "STATUS_OBJECT_PATH_INVALID";
1100  case 0xC000003A:
1101  return "STATUS_OBJECT_PATH_NOT_FOUND";
1102  case 0xC000003B:
1103  return "STATUS_OBJECT_PATH_SYNTAX_BAD";
1104  case 0xC000003C:
1105  return "STATUS_DATA_OVERRUN";
1106  case 0xC000003D:
1107  return "STATUS_DATA_LATE_ERROR";
1108  case 0xC000003E:
1109  return "STATUS_DATA_ERROR";
1110  case 0xC000003F:
1111  return "STATUS_CRC_ERROR";
1112  case 0xC0000040:
1113  return "STATUS_SECTION_TOO_BIG";
1114  case 0xC0000041:
1115  return "STATUS_PORT_CONNECTION_REFUSED";
1116  case 0xC0000042:
1117  return "STATUS_INVALID_PORT_HANDLE";
1118  case 0xC0000043:
1119  return "STATUS_SHARING_VIOLATION";
1120  case 0xC0000044:
1121  return "STATUS_QUOTA_EXCEEDED";
1122  case 0xC0000045:
1123  return "STATUS_INVALID_PAGE_PROTECTION";
1124  case 0xC0000046:
1125  return "STATUS_MUTANT_NOT_OWNED";
1126  case 0xC0000047:
1127  return "STATUS_SEMAPHORE_LIMIT_EXCEEDED";
1128  case 0xC0000048:
1129  return "STATUS_PORT_ALREADY_SET";
1130  case 0xC0000049:
1131  return "STATUS_SECTION_NOT_IMAGE";
1132  case 0xC000004A:
1133  return "STATUS_SUSPEND_COUNT_EXCEEDED";
1134  case 0xC000004B:
1135  return "STATUS_THREAD_IS_TERMINATING";
1136  case 0xC000004C:
1137  return "STATUS_BAD_WORKING_SET_LIMIT";
1138  case 0xC000004D:
1139  return "STATUS_INCOMPATIBLE_FILE_MAP";
1140  case 0xC000004E:
1141  return "STATUS_SECTION_PROTECTION";
1142  case 0xC000004F:
1143  return "STATUS_EAS_NOT_SUPPORTED";
1144  case 0xC0000050:
1145  return "STATUS_EA_TOO_LARGE";
1146  case 0xC0000051:
1147  return "STATUS_NONEXISTENT_EA_ENTRY";
1148  case 0xC0000052:
1149  return "STATUS_NO_EAS_ON_FILE";
1150  case 0xC0000053:
1151  return "STATUS_EA_CORRUPT_ERROR";
1152  case 0xC0000054:
1153  return "STATUS_FILE_LOCK_CONFLICT";
1154  case 0xC0000055:
1155  return "STATUS_LOCK_NOT_GRANTED";
1156  case 0xC0000056:
1157  return "STATUS_DELETE_PENDING";
1158  case 0xC0000057:
1159  return "STATUS_CTL_FILE_NOT_SUPPORTED";
1160  case 0xC0000058:
1161  return "STATUS_UNKNOWN_REVISION";
1162  case 0xC0000059:
1163  return "STATUS_REVISION_MISMATCH";
1164  case 0xC000005A:
1165  return "STATUS_INVALID_OWNER";
1166  case 0xC000005B:
1167  return "STATUS_INVALID_PRIMARY_GROUP";
1168  case 0xC000005C:
1169  return "STATUS_NO_IMPERSONATION_TOKEN";
1170  case 0xC000005D:
1171  return "STATUS_CANT_DISABLE_MANDATORY";
1172  case 0xC000005E:
1173  return "STATUS_NO_LOGON_SERVERS";
1174  case 0xC000005F:
1175  return "STATUS_NO_SUCH_LOGON_SESSION";
1176  case 0xC0000060:
1177  return "STATUS_NO_SUCH_PRIVILEGE";
1178  case 0xC0000061:
1179  return "STATUS_PRIVILEGE_NOT_HELD";
1180  case 0xC0000062:
1181  return "STATUS_INVALID_ACCOUNT_NAME";
1182  case 0xC0000063:
1183  return "STATUS_USER_EXISTS";
1184  case 0xC0000064:
1185  return "STATUS_NO_SUCH_USER";
1186  case 0xC0000065:
1187  return "STATUS_GROUP_EXISTS";
1188  case 0xC0000066:
1189  return "STATUS_NO_SUCH_GROUP";
1190  case 0xC0000067:
1191  return "STATUS_MEMBER_IN_GROUP";
1192  case 0xC0000068:
1193  return "STATUS_MEMBER_NOT_IN_GROUP";
1194  case 0xC0000069:
1195  return "STATUS_LAST_ADMIN";
1196  case 0xC000006A:
1197  return "STATUS_WRONG_PASSWORD";
1198  case 0xC000006B:
1199  return "STATUS_ILL_FORMED_PASSWORD";
1200  case 0xC000006C:
1201  return "STATUS_PASSWORD_RESTRICTION";
1202  case 0xC000006D:
1203  return "STATUS_LOGON_FAILURE";
1204  case 0xC000006E:
1205  return "STATUS_ACCOUNT_RESTRICTION";
1206  case 0xC000006F:
1207  return "STATUS_INVALID_LOGON_HOURS";
1208  case 0xC0000070:
1209  return "STATUS_INVALID_WORKSTATION";
1210  case 0xC0000071:
1211  return "STATUS_PASSWORD_EXPIRED";
1212  case 0xC0000072:
1213  return "STATUS_ACCOUNT_DISABLED";
1214  case 0xC0000073:
1215  return "STATUS_NONE_MAPPED";
1216  case 0xC0000074:
1217  return "STATUS_TOO_MANY_LUIDS_REQUESTED";
1218  case 0xC0000075:
1219  return "STATUS_LUIDS_EXHAUSTED";
1220  case 0xC0000076:
1221  return "STATUS_INVALID_SUB_AUTHORITY";
1222  case 0xC0000077:
1223  return "STATUS_INVALID_ACL";
1224  case 0xC0000078:
1225  return "STATUS_INVALID_SID";
1226  case 0xC0000079:
1227  return "STATUS_INVALID_SECURITY_DESCR";
1228  case 0xC000007A:
1229  return "STATUS_PROCEDURE_NOT_FOUND";
1230  case 0xC000007B:
1231  return "STATUS_INVALID_IMAGE_FORMAT";
1232  case 0xC000007C:
1233  return "STATUS_NO_TOKEN";
1234  case 0xC000007D:
1235  return "STATUS_BAD_INHERITANCE_ACL";
1236  case 0xC000007E:
1237  return "STATUS_RANGE_NOT_LOCKED";
1238  case 0xC000007F:
1239  return "STATUS_DISK_FULL";
1240  case 0xC0000080:
1241  return "STATUS_SERVER_DISABLED";
1242  case 0xC0000081:
1243  return "STATUS_SERVER_NOT_DISABLED";
1244  case 0xC0000082:
1245  return "STATUS_TOO_MANY_GUIDS_REQUESTED";
1246  case 0xC0000083:
1247  return "STATUS_GUIDS_EXHAUSTED";
1248  case 0xC0000084:
1249  return "STATUS_INVALID_ID_AUTHORITY";
1250  case 0xC0000085:
1251  return "STATUS_AGENTS_EXHAUSTED";
1252  case 0xC0000086:
1253  return "STATUS_INVALID_VOLUME_LABEL";
1254  case 0xC0000087:
1255  return "STATUS_SECTION_NOT_EXTENDED";
1256  case 0xC0000088:
1257  return "STATUS_NOT_MAPPED_DATA";
1258  case 0xC0000089:
1259  return "STATUS_RESOURCE_DATA_NOT_FOUND";
1260  case 0xC000008A:
1261  return "STATUS_RESOURCE_TYPE_NOT_FOUND";
1262  case 0xC000008B:
1263  return "STATUS_RESOURCE_NAME_NOT_FOUND";
1264  case 0xC000008C:
1265  return "STATUS_ARRAY_BOUNDS_EXCEEDED";
1266  case 0xC000008D:
1267  return "STATUS_FLOAT_DENORMAL_OPERAND";
1268  case 0xC000008E:
1269  return "STATUS_FLOAT_DIVIDE_BY_ZERO";
1270  case 0xC000008F:
1271  return "STATUS_FLOAT_INEXACT_RESULT";
1272  case 0xC0000090:
1273  return "STATUS_FLOAT_INVALID_OPERATION";
1274  case 0xC0000091:
1275  return "STATUS_FLOAT_OVERFLOW";
1276  case 0xC0000092:
1277  return "STATUS_FLOAT_STACK_CHECK";
1278  case 0xC0000093:
1279  return "STATUS_FLOAT_UNDERFLOW";
1280  case 0xC0000094:
1281  return "STATUS_INTEGER_DIVIDE_BY_ZERO";
1282  case 0xC0000095:
1283  return "STATUS_INTEGER_OVERFLOW";
1284  case 0xC0000096:
1285  return "STATUS_PRIVILEGED_INSTRUCTION";
1286  case 0xC0000097:
1287  return "STATUS_TOO_MANY_PAGING_FILES";
1288  case 0xC0000098:
1289  return "STATUS_FILE_INVALID";
1290  case 0xC0000099:
1291  return "STATUS_ALLOTTED_SPACE_EXCEEDED";
1292  case 0xC000009A:
1293  return "STATUS_INSUFFICIENT_RESOURCES";
1294  case 0xC000009B:
1295  return "STATUS_DFS_EXIT_PATH_FOUND";
1296  case 0xC000009C:
1297  return "STATUS_DEVICE_DATA_ERROR";
1298  case 0xC000009D:
1299  return "STATUS_DEVICE_NOT_CONNECTED";
1300  case 0xC000009E:
1301  return "STATUS_DEVICE_POWER_FAILURE";
1302  case 0xC000009F:
1303  return "STATUS_FREE_VM_NOT_AT_BASE";
1304  case 0xC00000A0:
1305  return "STATUS_MEMORY_NOT_ALLOCATED";
1306  case 0xC00000A1:
1307  return "STATUS_WORKING_SET_QUOTA";
1308  case 0xC00000A2:
1309  return "STATUS_MEDIA_WRITE_PROTECTED";
1310  case 0xC00000A3:
1311  return "STATUS_DEVICE_NOT_READY";
1312  case 0xC00000A4:
1313  return "STATUS_INVALID_GROUP_ATTRIBUTES";
1314  case 0xC00000A5:
1315  return "STATUS_BAD_IMPERSONATION_LEVEL";
1316  case 0xC00000A6:
1317  return "STATUS_CANT_OPEN_ANONYMOUS";
1318  case 0xC00000A7:
1319  return "STATUS_BAD_VALIDATION_CLASS";
1320  case 0xC00000A8:
1321  return "STATUS_BAD_TOKEN_TYPE";
1322  case 0xC00000A9:
1323  return "STATUS_BAD_MASTER_BOOT_RECORD";
1324  case 0xC00000AA:
1325  return "STATUS_INSTRUCTION_MISALIGNMENT";
1326  case 0xC00000AB:
1327  return "STATUS_INSTANCE_NOT_AVAILABLE";
1328  case 0xC00000AC:
1329  return "STATUS_PIPE_NOT_AVAILABLE";
1330  case 0xC00000AD:
1331  return "STATUS_INVALID_PIPE_STATE";
1332  case 0xC00000AE:
1333  return "STATUS_PIPE_BUSY";
1334  case 0xC00000AF:
1335  return "STATUS_ILLEGAL_FUNCTION";
1336  case 0xC00000B0:
1337  return "STATUS_PIPE_DISCONNECTED";
1338  case 0xC00000B1:
1339  return "STATUS_PIPE_CLOSING";
1340  case 0xC00000B2:
1341  return "STATUS_PIPE_CONNECTED";
1342  case 0xC00000B3:
1343  return "STATUS_PIPE_LISTENING";
1344  case 0xC00000B4:
1345  return "STATUS_INVALID_READ_MODE";
1346  case 0xC00000B5:
1347  return "STATUS_IO_TIMEOUT";
1348  case 0xC00000B6:
1349  return "STATUS_FILE_FORCED_CLOSED";
1350  case 0xC00000B7:
1351  return "STATUS_PROFILING_NOT_STARTED";
1352  case 0xC00000B8:
1353  return "STATUS_PROFILING_NOT_STOPPED";
1354  case 0xC00000B9:
1355  return "STATUS_COULD_NOT_INTERPRET";
1356  case 0xC00000BA:
1357  return "STATUS_FILE_IS_A_DIRECTORY";
1358  case 0xC00000BB:
1359  return "STATUS_NOT_SUPPORTED";
1360  case 0xC00000BC:
1361  return "STATUS_REMOTE_NOT_LISTENING";
1362  case 0xC00000BD:
1363  return "STATUS_DUPLICATE_NAME";
1364  case 0xC00000BE:
1365  return "STATUS_BAD_NETWORK_PATH";
1366  case 0xC00000BF:
1367  return "STATUS_NETWORK_BUSY";
1368  case 0xC00000C0:
1369  return "STATUS_DEVICE_DOES_NOT_EXIST";
1370  case 0xC00000C1:
1371  return "STATUS_TOO_MANY_COMMANDS";
1372  case 0xC00000C2:
1373  return "STATUS_ADAPTER_HARDWARE_ERROR";
1374  case 0xC00000C3:
1375  return "STATUS_INVALID_NETWORK_RESPONSE";
1376  case 0xC00000C4:
1377  return "STATUS_UNEXPECTED_NETWORK_ERROR";
1378  case 0xC00000C5:
1379  return "STATUS_BAD_REMOTE_ADAPTER";
1380  case 0xC00000C6:
1381  return "STATUS_PRINT_QUEUE_FULL";
1382  case 0xC00000C7:
1383  return "STATUS_NO_SPOOL_SPACE";
1384  case 0xC00000C8:
1385  return "STATUS_PRINT_CANCELLED";
1386  case 0xC00000C9:
1387  return "STATUS_NETWORK_NAME_DELETED";
1388  case 0xC00000CA:
1389  return "STATUS_NETWORK_ACCESS_DENIED";
1390  case 0xC00000CB:
1391  return "STATUS_BAD_DEVICE_TYPE";
1392  case 0xC00000CC:
1393  return "STATUS_BAD_NETWORK_NAME";
1394  case 0xC00000CD:
1395  return "STATUS_TOO_MANY_NAMES";
1396  case 0xC00000CE:
1397  return "STATUS_TOO_MANY_SESSIONS";
1398  case 0xC00000CF:
1399  return "STATUS_SHARING_PAUSED";
1400  case 0xC00000D0:
1401  return "STATUS_REQUEST_NOT_ACCEPTED";
1402  case 0xC00000D1:
1403  return "STATUS_REDIRECTOR_PAUSED";
1404  case 0xC00000D2:
1405  return "STATUS_NET_WRITE_FAULT";
1406  case 0xC00000D3:
1407  return "STATUS_PROFILING_AT_LIMIT";
1408  case 0xC00000D4:
1409  return "STATUS_NOT_SAME_DEVICE";
1410  case 0xC00000D5:
1411  return "STATUS_FILE_RENAMED";
1412  case 0xC00000D6:
1413  return "STATUS_VIRTUAL_CIRCUIT_CLOSED";
1414  case 0xC00000D7:
1415  return "STATUS_NO_SECURITY_ON_OBJECT";
1416  case 0xC00000D8:
1417  return "STATUS_CANT_WAIT";
1418  case 0xC00000D9:
1419  return "STATUS_PIPE_EMPTY";
1420  case 0xC00000DA:
1421  return "STATUS_CANT_ACCESS_DOMAIN_INFO";
1422  case 0xC00000DB:
1423  return "STATUS_CANT_TERMINATE_SELF";
1424  case 0xC00000DC:
1425  return "STATUS_INVALID_SERVER_STATE";
1426  case 0xC00000DD:
1427  return "STATUS_INVALID_DOMAIN_STATE";
1428  case 0xC00000DE:
1429  return "STATUS_INVALID_DOMAIN_ROLE";
1430  case 0xC00000DF:
1431  return "STATUS_NO_SUCH_DOMAIN";
1432  case 0xC00000E0:
1433  return "STATUS_DOMAIN_EXISTS";
1434  case 0xC00000E1:
1435  return "STATUS_DOMAIN_LIMIT_EXCEEDED";
1436  case 0xC00000E2:
1437  return "STATUS_OPLOCK_NOT_GRANTED";
1438  case 0xC00000E3:
1439  return "STATUS_INVALID_OPLOCK_PROTOCOL";
1440  case 0xC00000E4:
1441  return "STATUS_INTERNAL_DB_CORRUPTION";
1442  case 0xC00000E5:
1443  return "STATUS_INTERNAL_ERROR";
1444  case 0xC00000E6:
1445  return "STATUS_GENERIC_NOT_MAPPED";
1446  case 0xC00000E7:
1447  return "STATUS_BAD_DESCRIPTOR_FORMAT";
1448  case 0xC00000E8:
1449  return "STATUS_INVALID_USER_BUFFER";
1450  case 0xC00000E9:
1451  return "STATUS_UNEXPECTED_IO_ERROR";
1452  case 0xC00000EA:
1453  return "STATUS_UNEXPECTED_MM_CREATE_ERR";
1454  case 0xC00000EB:
1455  return "STATUS_UNEXPECTED_MM_MAP_ERROR";
1456  case 0xC00000EC:
1457  return "STATUS_UNEXPECTED_MM_EXTEND_ERR";
1458  case 0xC00000ED:
1459  return "STATUS_NOT_LOGON_PROCESS";
1460  case 0xC00000EE:
1461  return "STATUS_LOGON_SESSION_EXISTS";
1462  case 0xC00000EF:
1463  return "STATUS_INVALID_PARAMETER_1";
1464  case 0xC00000F0:
1465  return "STATUS_INVALID_PARAMETER_2";
1466  case 0xC00000F1:
1467  return "STATUS_INVALID_PARAMETER_3";
1468  case 0xC00000F2:
1469  return "STATUS_INVALID_PARAMETER_4";
1470  case 0xC00000F3:
1471  return "STATUS_INVALID_PARAMETER_5";
1472  case 0xC00000F4:
1473  return "STATUS_INVALID_PARAMETER_6";
1474  case 0xC00000F5:
1475  return "STATUS_INVALID_PARAMETER_7";
1476  case 0xC00000F6:
1477  return "STATUS_INVALID_PARAMETER_8";
1478  case 0xC00000F7:
1479  return "STATUS_INVALID_PARAMETER_9";
1480  case 0xC00000F8:
1481  return "STATUS_INVALID_PARAMETER_10";
1482  case 0xC00000F9:
1483  return "STATUS_INVALID_PARAMETER_11";
1484  case 0xC00000FA:
1485  return "STATUS_INVALID_PARAMETER_12";
1486  case 0xC00000FB:
1487  return "STATUS_REDIRECTOR_NOT_STARTED";
1488  case 0xC00000FC:
1489  return "STATUS_REDIRECTOR_STARTED";
1490  case 0xC00000FD:
1491  return "STATUS_STACK_OVERFLOW";
1492  case 0xC00000FE:
1493  return "STATUS_NO_SUCH_PACKAGE";
1494  case 0xC00000FF:
1495  return "STATUS_BAD_FUNCTION_TABLE";
1496  case 0xC0000100:
1497  return "STATUS_VARIABLE_NOT_FOUND";
1498  case 0xC0000101:
1499  return "STATUS_DIRECTORY_NOT_EMPTY";
1500  case 0xC0000102:
1501  return "STATUS_FILE_CORRUPT_ERROR";
1502  case 0xC0000103:
1503  return "STATUS_NOT_A_DIRECTORY";
1504  case 0xC0000104:
1505  return "STATUS_BAD_LOGON_SESSION_STATE";
1506  case 0xC0000105:
1507  return "STATUS_LOGON_SESSION_COLLISION";
1508  case 0xC0000106:
1509  return "STATUS_NAME_TOO_LONG";
1510  case 0xC0000107:
1511  return "STATUS_FILES_OPEN";
1512  case 0xC0000108:
1513  return "STATUS_CONNECTION_IN_USE";
1514  case 0xC0000109:
1515  return "STATUS_MESSAGE_NOT_FOUND";
1516  case 0xC000010A:
1517  return "STATUS_PROCESS_IS_TERMINATING";
1518  case 0xC000010B:
1519  return "STATUS_INVALID_LOGON_TYPE";
1520  case 0xC000010C:
1521  return "STATUS_NO_GUID_TRANSLATION";
1522  case 0xC000010D:
1523  return "STATUS_CANNOT_IMPERSONATE";
1524  case 0xC000010E:
1525  return "STATUS_IMAGE_ALREADY_LOADED";
1526  case 0xC000010F:
1527  return "STATUS_ABIOS_NOT_PRESENT";
1528  case 0xC0000110:
1529  return "STATUS_ABIOS_LID_NOT_EXIST";
1530  case 0xC0000111:
1531  return "STATUS_ABIOS_LID_ALREADY_OWNED";
1532  case 0xC0000112:
1533  return "STATUS_ABIOS_NOT_LID_OWNER";
1534  case 0xC0000113:
1535  return "STATUS_ABIOS_INVALID_COMMAND";
1536  case 0xC0000114:
1537  return "STATUS_ABIOS_INVALID_LID";
1538  case 0xC0000115:
1539  return "STATUS_ABIOS_SELECTOR_NOT_AVAILABLE";
1540  case 0xC0000116:
1541  return "STATUS_ABIOS_INVALID_SELECTOR";
1542  case 0xC0000117:
1543  return "STATUS_NO_LDT";
1544  case 0xC0000118:
1545  return "STATUS_INVALID_LDT_SIZE";
1546  case 0xC0000119:
1547  return "STATUS_INVALID_LDT_OFFSET";
1548  case 0xC000011A:
1549  return "STATUS_INVALID_LDT_DESCRIPTOR";
1550  case 0xC000011B:
1551  return "STATUS_INVALID_IMAGE_NE_FORMAT";
1552  case 0xC000011C:
1553  return "STATUS_RXACT_INVALID_STATE";
1554  case 0xC000011D:
1555  return "STATUS_RXACT_COMMIT_FAILURE";
1556  case 0xC000011E:
1557  return "STATUS_MAPPED_FILE_SIZE_ZERO";
1558  case 0xC000011F:
1559  return "STATUS_TOO_MANY_OPENED_FILES";
1560  case 0xC0000120:
1561  return "STATUS_CANCELLED";
1562  case 0xC0000121:
1563  return "STATUS_CANNOT_DELETE";
1564  case 0xC0000122:
1565  return "STATUS_INVALID_COMPUTER_NAME";
1566  case 0xC0000123:
1567  return "STATUS_FILE_DELETED";
1568  case 0xC0000124:
1569  return "STATUS_SPECIAL_ACCOUNT";
1570  case 0xC0000125:
1571  return "STATUS_SPECIAL_GROUP";
1572  case 0xC0000126:
1573  return "STATUS_SPECIAL_USER";
1574  case 0xC0000127:
1575  return "STATUS_MEMBERS_PRIMARY_GROUP";
1576  case 0xC0000128:
1577  return "STATUS_FILE_CLOSED";
1578  case 0xC0000129:
1579  return "STATUS_TOO_MANY_THREADS";
1580  case 0xC000012A:
1581  return "STATUS_THREAD_NOT_IN_PROCESS";
1582  case 0xC000012B:
1583  return "STATUS_TOKEN_ALREADY_IN_USE";
1584  case 0xC000012C:
1585  return "STATUS_PAGEFILE_QUOTA_EXCEEDED";
1586  case 0xC000012D:
1587  return "STATUS_COMMITMENT_LIMIT";
1588  case 0xC000012E:
1589  return "STATUS_INVALID_IMAGE_LE_FORMAT";
1590  case 0xC000012F:
1591  return "STATUS_INVALID_IMAGE_NOT_MZ";
1592  case 0xC0000130:
1593  return "STATUS_INVALID_IMAGE_PROTECT";
1594  case 0xC0000131:
1595  return "STATUS_INVALID_IMAGE_WIN_16";
1596  case 0xC0000132:
1597  return "STATUS_LOGON_SERVER_CONFLICT";
1598  case 0xC0000133:
1599  return "STATUS_TIME_DIFFERENCE_AT_DC";
1600  case 0xC0000134:
1601  return "STATUS_SYNCHRONIZATION_REQUIRED";
1602  case 0xC0000135:
1603  return "STATUS_DLL_NOT_FOUND";
1604  case 0xC0000136:
1605  return "STATUS_OPEN_FAILED";
1606  case 0xC0000137:
1607  return "STATUS_IO_PRIVILEGE_FAILED";
1608  case 0xC0000138:
1609  return "STATUS_ORDINAL_NOT_FOUND";
1610  case 0xC0000139:
1611  return "STATUS_ENTRYPOINT_NOT_FOUND";
1612  case 0xC000013A:
1613  return "STATUS_CONTROL_C_EXIT";
1614  case 0xC000013B:
1615  return "STATUS_LOCAL_DISCONNECT";
1616  case 0xC000013C:
1617  return "STATUS_REMOTE_DISCONNECT";
1618  case 0xC000013D:
1619  return "STATUS_REMOTE_RESOURCES";
1620  case 0xC000013E:
1621  return "STATUS_LINK_FAILED";
1622  case 0xC000013F:
1623  return "STATUS_LINK_TIMEOUT";
1624  case 0xC0000140:
1625  return "STATUS_INVALID_CONNECTION";
1626  case 0xC0000141:
1627  return "STATUS_INVALID_ADDRESS";
1628  case 0xC0000142:
1629  return "STATUS_DLL_INIT_FAILED";
1630  case 0xC0000143:
1631  return "STATUS_MISSING_SYSTEMFILE";
1632  case 0xC0000144:
1633  return "STATUS_UNHANDLED_EXCEPTION";
1634  case 0xC0000145:
1635  return "STATUS_APP_INIT_FAILURE";
1636  case 0xC0000146:
1637  return "STATUS_PAGEFILE_CREATE_FAILED";
1638  case 0xC0000147:
1639  return "STATUS_NO_PAGEFILE";
1640  case 0xC0000148:
1641  return "STATUS_INVALID_LEVEL";
1642  case 0xC0000149:
1643  return "STATUS_WRONG_PASSWORD_CORE";
1644  case 0xC000014A:
1645  return "STATUS_ILLEGAL_FLOAT_CONTEXT";
1646  case 0xC000014B:
1647  return "STATUS_PIPE_BROKEN";
1648  case 0xC000014C:
1649  return "STATUS_REGISTRY_CORRUPT";
1650  case 0xC000014D:
1651  return "STATUS_REGISTRY_IO_FAILED";
1652  case 0xC000014E:
1653  return "STATUS_NO_EVENT_PAIR";
1654  case 0xC000014F:
1655  return "STATUS_UNRECOGNIZED_VOLUME";
1656  case 0xC0000150:
1657  return "STATUS_SERIAL_NO_DEVICE_INITED";
1658  case 0xC0000151:
1659  return "STATUS_NO_SUCH_ALIAS";
1660  case 0xC0000152:
1661  return "STATUS_MEMBER_NOT_IN_ALIAS";
1662  case 0xC0000153:
1663  return "STATUS_MEMBER_IN_ALIAS";
1664  case 0xC0000154:
1665  return "STATUS_ALIAS_EXISTS";
1666  case 0xC0000155:
1667  return "STATUS_LOGON_NOT_GRANTED";
1668  case 0xC0000156:
1669  return "STATUS_TOO_MANY_SECRETS";
1670  case 0xC0000157:
1671  return "STATUS_SECRET_TOO_LONG";
1672  case 0xC0000158:
1673  return "STATUS_INTERNAL_DB_ERROR";
1674  case 0xC0000159:
1675  return "STATUS_FULLSCREEN_MODE";
1676  case 0xC000015A:
1677  return "STATUS_TOO_MANY_CONTEXT_IDS";
1678  case 0xC000015B:
1679  return "STATUS_LOGON_TYPE_NOT_GRANTED";
1680  case 0xC000015C:
1681  return "STATUS_NOT_REGISTRY_FILE";
1682  case 0xC000015D:
1683  return "STATUS_NT_CROSS_ENCRYPTION_REQUIRED";
1684  case 0xC000015E:
1685  return "STATUS_DOMAIN_CTRLR_CONFIG_ERROR";
1686  case 0xC000015F:
1687  return "STATUS_FT_MISSING_MEMBER";
1688  case 0xC0000160:
1689  return "STATUS_ILL_FORMED_SERVICE_ENTRY";
1690  case 0xC0000161:
1691  return "STATUS_ILLEGAL_CHARACTER";
1692  case 0xC0000162:
1693  return "STATUS_UNMAPPABLE_CHARACTER";
1694  case 0xC0000163:
1695  return "STATUS_UNDEFINED_CHARACTER";
1696  case 0xC0000164:
1697  return "STATUS_FLOPPY_VOLUME";
1698  case 0xC0000165:
1699  return "STATUS_FLOPPY_ID_MARK_NOT_FOUND";
1700  case 0xC0000166:
1701  return "STATUS_FLOPPY_WRONG_CYLINDER";
1702  case 0xC0000167:
1703  return "STATUS_FLOPPY_UNKNOWN_ERROR";
1704  case 0xC0000168:
1705  return "STATUS_FLOPPY_BAD_REGISTERS";
1706  case 0xC0000169:
1707  return "STATUS_DISK_RECALIBRATE_FAILED";
1708  case 0xC000016A:
1709  return "STATUS_DISK_OPERATION_FAILED";
1710  case 0xC000016B:
1711  return "STATUS_DISK_RESET_FAILED";
1712  case 0xC000016C:
1713  return "STATUS_SHARED_IRQ_BUSY";
1714  case 0xC000016D:
1715  return "STATUS_FT_ORPHANING";
1716  case 0xC000016E:
1717  return "STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT";
1718  case 0xC0000172:
1719  return "STATUS_PARTITION_FAILURE";
1720  case 0xC0000173:
1721  return "STATUS_INVALID_BLOCK_LENGTH";
1722  case 0xC0000174:
1723  return "STATUS_DEVICE_NOT_PARTITIONED";
1724  case 0xC0000175:
1725  return "STATUS_UNABLE_TO_LOCK_MEDIA";
1726  case 0xC0000176:
1727  return "STATUS_UNABLE_TO_UNLOAD_MEDIA";
1728  case 0xC0000177:
1729  return "STATUS_EOM_OVERFLOW";
1730  case 0xC0000178:
1731  return "STATUS_NO_MEDIA";
1732  case 0xC000017A:
1733  return "STATUS_NO_SUCH_MEMBER";
1734  case 0xC000017B:
1735  return "STATUS_INVALID_MEMBER";
1736  case 0xC000017C:
1737  return "STATUS_KEY_DELETED";
1738  case 0xC000017D:
1739  return "STATUS_NO_LOG_SPACE";
1740  case 0xC000017E:
1741  return "STATUS_TOO_MANY_SIDS";
1742  case 0xC000017F:
1743  return "STATUS_LM_CROSS_ENCRYPTION_REQUIRED";
1744  case 0xC0000180:
1745  return "STATUS_KEY_HAS_CHILDREN";
1746  case 0xC0000181:
1747  return "STATUS_CHILD_MUST_BE_VOLATILE";
1748  case 0xC0000182:
1749  return "STATUS_DEVICE_CONFIGURATION_ERROR";
1750  case 0xC0000183:
1751  return "STATUS_DRIVER_INTERNAL_ERROR";
1752  case 0xC0000184:
1753  return "STATUS_INVALID_DEVICE_STATE";
1754  case 0xC0000185:
1755  return "STATUS_IO_DEVICE_ERROR";
1756  case 0xC0000186:
1757  return "STATUS_DEVICE_PROTOCOL_ERROR";
1758  case 0xC0000187:
1759  return "STATUS_BACKUP_CONTROLLER";
1760  case 0xC0000188:
1761  return "STATUS_LOG_FILE_FULL";
1762  case 0xC0000189:
1763  return "STATUS_TOO_LATE";
1764  case 0xC000018A:
1765  return "STATUS_NO_TRUST_LSA_SECRET";
1766  case 0xC000018B:
1767  return "STATUS_NO_TRUST_SAM_ACCOUNT";
1768  case 0xC000018C:
1769  return "STATUS_TRUSTED_DOMAIN_FAILURE";
1770  case 0xC000018D:
1771  return "STATUS_TRUSTED_RELATIONSHIP_FAILURE";
1772  case 0xC000018E:
1773  return "STATUS_EVENTLOG_FILE_CORRUPT";
1774  case 0xC000018F:
1775  return "STATUS_EVENTLOG_CANT_START";
1776  case 0xC0000190:
1777  return "STATUS_TRUST_FAILURE";
1778  case 0xC0000191:
1779  return "STATUS_MUTANT_LIMIT_EXCEEDED";
1780  case 0xC0000192:
1781  return "STATUS_NETLOGON_NOT_STARTED";
1782  case 0xC0000193:
1783  return "STATUS_ACCOUNT_EXPIRED";
1784  case 0xC0000194:
1785  return "STATUS_POSSIBLE_DEADLOCK";
1786  case 0xC0000195:
1787  return "STATUS_NETWORK_CREDENTIAL_CONFLICT";
1788  case 0xC0000196:
1789  return "STATUS_REMOTE_SESSION_LIMIT";
1790  case 0xC0000197:
1791  return "STATUS_EVENTLOG_FILE_CHANGED";
1792  case 0xC0000198:
1793  return "STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT";
1794  case 0xC0000199:
1795  return "STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT";
1796  case 0xC000019A:
1797  return "STATUS_NOLOGON_SERVER_TRUST_ACCOUNT";
1798  case 0xC000019B:
1799  return "STATUS_DOMAIN_TRUST_INCONSISTENT";
1800  case 0xC000019C:
1801  return "STATUS_FS_DRIVER_REQUIRED";
1802  case 0xC0000202:
1803  return "STATUS_NO_USER_SESSION_KEY";
1804  case 0xC0000203:
1805  return "STATUS_USER_SESSION_DELETED";
1806  case 0xC0000204:
1807  return "STATUS_RESOURCE_LANG_NOT_FOUND";
1808  case 0xC0000205:
1809  return "STATUS_INSUFF_SERVER_RESOURCES";
1810  case 0xC0000206:
1811  return "STATUS_INVALID_BUFFER_SIZE";
1812  case 0xC0000207:
1813  return "STATUS_INVALID_ADDRESS_COMPONENT";
1814  case 0xC0000208:
1815  return "STATUS_INVALID_ADDRESS_WILDCARD";
1816  case 0xC0000209:
1817  return "STATUS_TOO_MANY_ADDRESSES";
1818  case 0xC000020A:
1819  return "STATUS_ADDRESS_ALREADY_EXISTS";
1820  case 0xC000020B:
1821  return "STATUS_ADDRESS_CLOSED";
1822  case 0xC000020C:
1823  return "STATUS_CONNECTION_DISCONNECTED";
1824  case 0xC000020D:
1825  return "STATUS_CONNECTION_RESET";
1826  case 0xC000020E:
1827  return "STATUS_TOO_MANY_NODES";
1828  case 0xC000020F:
1829  return "STATUS_TRANSACTION_ABORTED";
1830  case 0xC0000210:
1831  return "STATUS_TRANSACTION_TIMED_OUT";
1832  case 0xC0000211:
1833  return "STATUS_TRANSACTION_NO_RELEASE";
1834  case 0xC0000212:
1835  return "STATUS_TRANSACTION_NO_MATCH";
1836  case 0xC0000213:
1837  return "STATUS_TRANSACTION_RESPONDED";
1838  case 0xC0000214:
1839  return "STATUS_TRANSACTION_INVALID_ID";
1840  case 0xC0000215:
1841  return "STATUS_TRANSACTION_INVALID_TYPE";
1842  case 0xC0000216:
1843  return "STATUS_NOT_SERVER_SESSION";
1844  case 0xC0000217:
1845  return "STATUS_NOT_CLIENT_SESSION";
1846  case 0xC0000218:
1847  return "STATUS_CANNOT_LOAD_REGISTRY_FILE";
1848  case 0xC0000219:
1849  return "STATUS_DEBUG_ATTACH_FAILED";
1850  case 0xC000021A:
1851  return "STATUS_SYSTEM_PROCESS_TERMINATED";
1852  case 0xC000021B:
1853  return "STATUS_DATA_NOT_ACCEPTED";
1854  case 0xC000021C:
1855  return "STATUS_NO_BROWSER_SERVERS_FOUND";
1856  case 0xC000021D:
1857  return "STATUS_VDM_HARD_ERROR";
1858  case 0xC000021E:
1859  return "STATUS_DRIVER_CANCEL_TIMEOUT";
1860  case 0xC000021F:
1861  return "STATUS_REPLY_MESSAGE_MISMATCH";
1862  case 0xC0000220:
1863  return "STATUS_MAPPED_ALIGNMENT";
1864  case 0xC0000221:
1865  return "STATUS_IMAGE_CHECKSUM_MISMATCH";
1866  case 0xC0000222:
1867  return "STATUS_LOST_WRITEBEHIND_DATA";
1868  case 0xC0000223:
1869  return "STATUS_CLIENT_SERVER_PARAMETERS_INVALID";
1870  case 0xC0000224:
1871  return "STATUS_PASSWORD_MUST_CHANGE";
1872  case 0xC0000225:
1873  return "STATUS_NOT_FOUND";
1874  case 0xC0000226:
1875  return "STATUS_NOT_TINY_STREAM";
1876  case 0xC0000227:
1877  return "STATUS_RECOVERY_FAILURE";
1878  case 0xC0000228:
1879  return "STATUS_STACK_OVERFLOW_READ";
1880  case 0xC0000229:
1881  return "STATUS_FAIL_CHECK";
1882  case 0xC000022A:
1883  return "STATUS_DUPLICATE_OBJECTID";
1884  case 0xC000022B:
1885  return "STATUS_OBJECTID_EXISTS";
1886  case 0xC000022C:
1887  return "STATUS_CONVERT_TO_LARGE";
1888  case 0xC000022D:
1889  return "STATUS_RETRY";
1890  case 0xC000022E:
1891  return "STATUS_FOUND_OUT_OF_SCOPE";
1892  case 0xC000022F:
1893  return "STATUS_ALLOCATE_BUCKET";
1894  case 0xC0000230:
1895  return "STATUS_PROPSET_NOT_FOUND";
1896  case 0xC0000231:
1897  return "STATUS_MARSHALL_OVERFLOW";
1898  case 0xC0000232:
1899  return "STATUS_INVALID_VARIANT";
1900  case 0xC0000233:
1901  return "STATUS_DOMAIN_CONTROLLER_NOT_FOUND";
1902  case 0xC0000234:
1903  return "STATUS_ACCOUNT_LOCKED_OUT";
1904  case 0xC0000235:
1905  return "STATUS_HANDLE_NOT_CLOSABLE";
1906  case 0xC0000236:
1907  return "STATUS_CONNECTION_REFUSED";
1908  case 0xC0000237:
1909  return "STATUS_GRACEFUL_DISCONNECT";
1910  case 0xC0000238:
1911  return "STATUS_ADDRESS_ALREADY_ASSOCIATED";
1912  case 0xC0000239:
1913  return "STATUS_ADDRESS_NOT_ASSOCIATED";
1914  case 0xC000023A:
1915  return "STATUS_CONNECTION_INVALID";
1916  case 0xC000023B:
1917  return "STATUS_CONNECTION_ACTIVE";
1918  case 0xC000023C:
1919  return "STATUS_NETWORK_UNREACHABLE";
1920  case 0xC000023D:
1921  return "STATUS_HOST_UNREACHABLE";
1922  case 0xC000023E:
1923  return "STATUS_PROTOCOL_UNREACHABLE";
1924  case 0xC000023F:
1925  return "STATUS_PORT_UNREACHABLE";
1926  case 0xC0000240:
1927  return "STATUS_REQUEST_ABORTED";
1928  case 0xC0000241:
1929  return "STATUS_CONNECTION_ABORTED";
1930  case 0xC0000242:
1931  return "STATUS_BAD_COMPRESSION_BUFFER";
1932  case 0xC0000243:
1933  return "STATUS_USER_MAPPED_FILE";
1934  case 0xC0000244:
1935  return "STATUS_AUDIT_FAILED";
1936  case 0xC0000245:
1937  return "STATUS_TIMER_RESOLUTION_NOT_SET";
1938  case 0xC0000246:
1939  return "STATUS_CONNECTION_COUNT_LIMIT";
1940  case 0xC0000247:
1941  return "STATUS_LOGIN_TIME_RESTRICTION";
1942  case 0xC0000248:
1943  return "STATUS_LOGIN_WKSTA_RESTRICTION";
1944  case 0xC0000249:
1945  return "STATUS_IMAGE_MP_UP_MISMATCH";
1946  case 0xC0000250:
1947  return "STATUS_INSUFFICIENT_LOGON_INFO";
1948  case 0xC0000251:
1949  return "STATUS_BAD_DLL_ENTRYPOINT";
1950  case 0xC0000252:
1951  return "STATUS_BAD_SERVICE_ENTRYPOINT";
1952  case 0xC0000253:
1953  return "STATUS_LPC_REPLY_LOST";
1954  case 0xC0000254:
1955  return "STATUS_IP_ADDRESS_CONFLICT1";
1956  case 0xC0000255:
1957  return "STATUS_IP_ADDRESS_CONFLICT2";
1958  case 0xC0000256:
1959  return "STATUS_REGISTRY_QUOTA_LIMIT";
1960  case 0xC0000257:
1961  return "STATUS_PATH_NOT_COVERED";
1962  case 0xC0000258:
1963  return "STATUS_NO_CALLBACK_ACTIVE";
1964  case 0xC0000259:
1965  return "STATUS_LICENSE_QUOTA_EXCEEDED";
1966  case 0xC000025A:
1967  return "STATUS_PWD_TOO_SHORT";
1968  case 0xC000025B:
1969  return "STATUS_PWD_TOO_RECENT";
1970  case 0xC000025C:
1971  return "STATUS_PWD_HISTORY_CONFLICT";
1972  case 0xC000025E:
1973  return "STATUS_PLUGPLAY_NO_DEVICE";
1974  case 0xC000025F:
1975  return "STATUS_UNSUPPORTED_COMPRESSION";
1976  case 0xC0000260:
1977  return "STATUS_INVALID_HW_PROFILE";
1978  case 0xC0000261:
1979  return "STATUS_INVALID_PLUGPLAY_DEVICE_PATH";
1980  case 0xC0000262:
1981  return "STATUS_DRIVER_ORDINAL_NOT_FOUND";
1982  case 0xC0000263:
1983  return "STATUS_DRIVER_ENTRYPOINT_NOT_FOUND";
1984  case 0xC0000264:
1985  return "STATUS_RESOURCE_NOT_OWNED";
1986  case 0xC0000265:
1987  return "STATUS_TOO_MANY_LINKS";
1988  case 0xC0000266:
1989  return "STATUS_QUOTA_LIST_INCONSISTENT";
1990  case 0xC0000267:
1991  return "STATUS_FILE_IS_OFFLINE";
1992  case 0xC0000268:
1993  return "STATUS_EVALUATION_EXPIRATION";
1994  case 0xC0000269:
1995  return "STATUS_ILLEGAL_DLL_RELOCATION";
1996  case 0xC000026A:
1997  return "STATUS_LICENSE_VIOLATION";
1998  case 0xC000026B:
1999  return "STATUS_DLL_INIT_FAILED_LOGOFF";
2000  case 0xC000026C:
2001  return "STATUS_DRIVER_UNABLE_TO_LOAD";
2002  case 0xC000026D:
2003  return "STATUS_DFS_UNAVAILABLE";
2004  case 0xC000026E:
2005  return "STATUS_VOLUME_DISMOUNTED";
2006  case 0xC000026F:
2007  return "STATUS_WX86_INTERNAL_ERROR";
2008  case 0xC0000270:
2009  return "STATUS_WX86_FLOAT_STACK_CHECK";
2010  case 0xC0000271:
2011  return "STATUS_VALIDATE_CONTINUE";
2012  case 0xC0000272:
2013  return "STATUS_NO_MATCH";
2014  case 0xC0000273:
2015  return "STATUS_NO_MORE_MATCHES";
2016  case 0xC0000275:
2017  return "STATUS_NOT_A_REPARSE_POINT";
2018  case 0xC0000276:
2019  return "STATUS_IO_REPARSE_TAG_INVALID";
2020  case 0xC0000277:
2021  return "STATUS_IO_REPARSE_TAG_MISMATCH";
2022  case 0xC0000278:
2023  return "STATUS_IO_REPARSE_DATA_INVALID";
2024  case 0xC0000279:
2025  return "STATUS_IO_REPARSE_TAG_NOT_HANDLED";
2026  case 0xC0000280:
2027  return "STATUS_REPARSE_POINT_NOT_RESOLVED";
2028  case 0xC0000281:
2029  return "STATUS_DIRECTORY_IS_A_REPARSE_POINT";
2030  case 0xC0000282:
2031  return "STATUS_RANGE_LIST_CONFLICT";
2032  case 0xC0000283:
2033  return "STATUS_SOURCE_ELEMENT_EMPTY";
2034  case 0xC0000284:
2035  return "STATUS_DESTINATION_ELEMENT_FULL";
2036  case 0xC0000285:
2037  return "STATUS_ILLEGAL_ELEMENT_ADDRESS";
2038  case 0xC0000286:
2039  return "STATUS_MAGAZINE_NOT_PRESENT";
2040  case 0xC0000287:
2041  return "STATUS_REINITIALIZATION_NEEDED";
2042  case 0x80000288:
2043  return "STATUS_DEVICE_REQUIRES_CLEANING";
2044  case 0x80000289:
2045  return "STATUS_DEVICE_DOOR_OPEN";
2046  case 0xC000028A:
2047  return "STATUS_ENCRYPTION_FAILED";
2048  case 0xC000028B:
2049  return "STATUS_DECRYPTION_FAILED";
2050  case 0xC000028C:
2051  return "STATUS_RANGE_NOT_FOUND";
2052  case 0xC000028D:
2053  return "STATUS_NO_RECOVERY_POLICY";
2054  case 0xC000028E:
2055  return "STATUS_NO_EFS";
2056  case 0xC000028F:
2057  return "STATUS_WRONG_EFS";
2058  case 0xC0000290:
2059  return "STATUS_NO_USER_KEYS";
2060  case 0xC0000291:
2061  return "STATUS_FILE_NOT_ENCRYPTED";
2062  case 0xC0000292:
2063  return "STATUS_NOT_EXPORT_FORMAT";
2064  case 0xC0000293:
2065  return "STATUS_FILE_ENCRYPTED";
2066  case 0x40000294:
2067  return "STATUS_WAKE_SYSTEM";
2068  case 0xC0000295:
2069  return "STATUS_WMI_GUID_NOT_FOUND";
2070  case 0xC0000296:
2071  return "STATUS_WMI_INSTANCE_NOT_FOUND";
2072  case 0xC0000297:
2073  return "STATUS_WMI_ITEMID_NOT_FOUND";
2074  case 0xC0000298:
2075  return "STATUS_WMI_TRY_AGAIN";
2076  case 0xC0000299:
2077  return "STATUS_SHARED_POLICY";
2078  case 0xC000029A:
2079  return "STATUS_POLICY_OBJECT_NOT_FOUND";
2080  case 0xC000029B:
2081  return "STATUS_POLICY_ONLY_IN_DS";
2082  case 0xC000029C:
2083  return "STATUS_VOLUME_NOT_UPGRADED";
2084  case 0xC000029D:
2085  return "STATUS_REMOTE_STORAGE_NOT_ACTIVE";
2086  case 0xC000029E:
2087  return "STATUS_REMOTE_STORAGE_MEDIA_ERROR";
2088  case 0xC000029F:
2089  return "STATUS_NO_TRACKING_SERVICE";
2090  case 0xC00002A0:
2091  return "STATUS_SERVER_SID_MISMATCH";
2092  case 0xC00002A1:
2093  return "STATUS_DS_NO_ATTRIBUTE_OR_VALUE";
2094  case 0xC00002A2:
2095  return "STATUS_DS_INVALID_ATTRIBUTE_SYNTAX";
2096  case 0xC00002A3:
2097  return "STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED";
2098  case 0xC00002A4:
2099  return "STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS";
2100  case 0xC00002A5:
2101  return "STATUS_DS_BUSY";
2102  case 0xC00002A6:
2103  return "STATUS_DS_UNAVAILABLE";
2104  case 0xC00002A7:
2105  return "STATUS_DS_NO_RIDS_ALLOCATED";
2106  case 0xC00002A8:
2107  return "STATUS_DS_NO_MORE_RIDS";
2108  case 0xC00002A9:
2109  return "STATUS_DS_INCORRECT_ROLE_OWNER";
2110  case 0xC00002AA:
2111  return "STATUS_DS_RIDMGR_INIT_ERROR";
2112  case 0xC00002AB:
2113  return "STATUS_DS_OBJ_CLASS_VIOLATION";
2114  case 0xC00002AC:
2115  return "STATUS_DS_CANT_ON_NON_LEAF";
2116  case 0xC00002AD:
2117  return "STATUS_DS_CANT_ON_RDN";
2118  case 0xC00002AE:
2119  return "STATUS_DS_CANT_MOD_OBJ_CLASS";
2120  case 0xC00002AF:
2121  return "STATUS_DS_CROSS_DOM_MOVE_FAILED";
2122  case 0xC00002B0:
2123  return "STATUS_DS_GC_NOT_AVAILABLE";
2124  case 0xC00002B1:
2125  return "STATUS_DIRECTORY_SERVICE_REQUIRED";
2126  case 0xC00002B2:
2127  return "STATUS_REPARSE_ATTRIBUTE_CONFLICT";
2128  case 0xC00002B3:
2129  return "STATUS_CANT_ENABLE_DENY_ONLY";
2130  case 0xC00002B4:
2131  return "STATUS_FLOAT_MULTIPLE_FAULTS";
2132  case 0xC00002B5:
2133  return "STATUS_FLOAT_MULTIPLE_TRAPS";
2134  case 0xC00002B6:
2135  return "STATUS_DEVICE_REMOVED";
2136  case 0xC00002B7:
2137  return "STATUS_JOURNAL_DELETE_IN_PROGRESS";
2138  case 0xC00002B8:
2139  return "STATUS_JOURNAL_NOT_ACTIVE";
2140  case 0xC00002B9:
2141  return "STATUS_NOINTERFACE";
2142  case 0xC00002C1:
2143  return "STATUS_DS_ADMIN_LIMIT_EXCEEDED";
2144  case 0xC00002C2:
2145  return "STATUS_DRIVER_FAILED_SLEEP";
2146  case 0xC00002C3:
2147  return "STATUS_MUTUAL_AUTHENTICATION_FAILED";
2148  case 0xC00002C4:
2149  return "STATUS_CORRUPT_SYSTEM_FILE";
2150  case 0xC00002C5:
2151  return "STATUS_DATATYPE_MISALIGNMENT_ERROR";
2152  case 0xC00002C6:
2153  return "STATUS_WMI_READ_ONLY";
2154  case 0xC00002C7:
2155  return "STATUS_WMI_SET_FAILURE";
2156  case 0xC00002C8:
2157  return "STATUS_COMMITMENT_MINIMUM";
2158  case 0xC00002C9:
2159  return "STATUS_REG_NAT_CONSUMPTION";
2160  case 0xC00002CA:
2161  return "STATUS_TRANSPORT_FULL";
2162  case 0xC00002CB:
2163  return "STATUS_DS_SAM_INIT_FAILURE";
2164  case 0xC00002CC:
2165  return "STATUS_ONLY_IF_CONNECTED";
2166  case 0xC00002CD:
2167  return "STATUS_DS_SENSITIVE_GROUP_VIOLATION";
2168  case 0xC00002CE:
2169  return "STATUS_PNP_RESTART_ENUMERATION";
2170  case 0xC00002CF:
2171  return "STATUS_JOURNAL_ENTRY_DELETED";
2172  case 0xC00002D0:
2173  return "STATUS_DS_CANT_MOD_PRIMARYGROUPID";
2174  case 0xC00002D1:
2175  return "STATUS_SYSTEM_IMAGE_BAD_SIGNATURE";
2176  case 0xC00002D2:
2177  return "STATUS_PNP_REBOOT_REQUIRED";
2178  case 0xC00002D3:
2179  return "STATUS_POWER_STATE_INVALID";
2180  case 0xC00002D4:
2181  return "STATUS_DS_INVALID_GROUP_TYPE";
2182  case 0xC00002D5:
2183  return "STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN";
2184  case 0xC00002D6:
2185  return "STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN";
2186  case 0xC00002D7:
2187  return "STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER";
2188  case 0xC00002D8:
2189  return "STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER";
2190  case 0xC00002D9:
2191  return "STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER";
2192  case 0xC00002DA:
2193  return "STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER";
2194  case 0xC00002DB:
2195  return "STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER";
2196  case 0xC00002DC:
2197  return "STATUS_DS_HAVE_PRIMARY_MEMBERS";
2198  case 0xC00002DD:
2199  return "STATUS_WMI_NOT_SUPPORTED";
2200  case 0xC00002DE:
2201  return "STATUS_INSUFFICIENT_POWER";
2202  case 0xC00002DF:
2203  return "STATUS_SAM_NEED_BOOTKEY_PASSWORD";
2204  case 0xC00002E0:
2205  return "STATUS_SAM_NEED_BOOTKEY_FLOPPY";
2206  case 0xC00002E1:
2207  return "STATUS_DS_CANT_START";
2208  case 0xC00002E2:
2209  return "STATUS_DS_INIT_FAILURE";
2210  case 0xC00002E3:
2211  return "STATUS_SAM_INIT_FAILURE";
2212  case 0xC00002E4:
2213  return "STATUS_DS_GC_REQUIRED";
2214  case 0xC00002E5:
2215  return "STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY";
2216  case 0xC00002E6:
2217  return "STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS";
2218  case 0xC00002E7:
2219  return "STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED";
2220  case 0xC00002E8:
2221  return "STATUS_MULTIPLE_FAULT_VIOLATION";
2222  case 0xC0000300:
2223  return "STATUS_NOT_SUPPORTED_ON_SBS";
2224  case 0xC0009898:
2225  return "STATUS_WOW_ASSERTION";
2226  case 0xC0010001:
2227  return "DBG_NO_STATE_CHANGE";
2228  case 0xC0010002:
2229  return "DBG_APP_NOT_IDLE";
2230  case 0xC0020001:
2231  return "RPC_NT_INVALID_STRING_BINDING";
2232  case 0xC0020002:
2233  return "RPC_NT_WRONG_KIND_OF_BINDING";
2234  case 0xC0020003:
2235  return "RPC_NT_INVALID_BINDING";
2236  case 0xC0020004:
2237  return "RPC_NT_PROTSEQ_NOT_SUPPORTED";
2238  case 0xC0020005:
2239  return "RPC_NT_INVALID_RPC_PROTSEQ";
2240  case 0xC0020006:
2241  return "RPC_NT_INVALID_STRING_UUID";
2242  case 0xC0020007:
2243  return "RPC_NT_INVALID_ENDPOINT_FORMAT";
2244  case 0xC0020008:
2245  return "RPC_NT_INVALID_NET_ADDR";
2246  case 0xC0020009:
2247  return "RPC_NT_NO_ENDPOINT_FOUND";
2248  case 0xC002000A:
2249  return "RPC_NT_INVALID_TIMEOUT";
2250  case 0xC002000B:
2251  return "RPC_NT_OBJECT_NOT_FOUND";
2252  case 0xC002000C:
2253  return "RPC_NT_ALREADY_REGISTERED";
2254  case 0xC002000D:
2255  return "RPC_NT_TYPE_ALREADY_REGISTERED";
2256  case 0xC002000E:
2257  return "RPC_NT_ALREADY_LISTENING";
2258  case 0xC002000F:
2259  return "RPC_NT_NO_PROTSEQS_REGISTERED";
2260  case 0xC0020010:
2261  return "RPC_NT_NOT_LISTENING";
2262  case 0xC0020011:
2263  return "RPC_NT_UNKNOWN_MGR_TYPE";
2264  case 0xC0020012:
2265  return "RPC_NT_UNKNOWN_IF";
2266  case 0xC0020013:
2267  return "RPC_NT_NO_BINDINGS";
2268  case 0xC0020014:
2269  return "RPC_NT_NO_PROTSEQS";
2270  case 0xC0020015:
2271  return "RPC_NT_CANT_CREATE_ENDPOINT";
2272  case 0xC0020016:
2273  return "RPC_NT_OUT_OF_RESOURCES";
2274  case 0xC0020017:
2275  return "RPC_NT_SERVER_UNAVAILABLE";
2276  case 0xC0020018:
2277  return "RPC_NT_SERVER_TOO_BUSY";
2278  case 0xC0020019:
2279  return "RPC_NT_INVALID_NETWORK_OPTIONS";
2280  case 0xC002001A:
2281  return "RPC_NT_NO_CALL_ACTIVE";
2282  case 0xC002001B:
2283  return "RPC_NT_CALL_FAILED";
2284  case 0xC002001C:
2285  return "RPC_NT_CALL_FAILED_DNE";
2286  case 0xC002001D:
2287  return "RPC_NT_PROTOCOL_ERROR";
2288  case 0xC002001F:
2289  return "RPC_NT_UNSUPPORTED_TRANS_SYN";
2290  case 0xC0020021:
2291  return "RPC_NT_UNSUPPORTED_TYPE";
2292  case 0xC0020022:
2293  return "RPC_NT_INVALID_TAG";
2294  case 0xC0020023:
2295  return "RPC_NT_INVALID_BOUND";
2296  case 0xC0020024:
2297  return "RPC_NT_NO_ENTRY_NAME";
2298  case 0xC0020025:
2299  return "RPC_NT_INVALID_NAME_SYNTAX";
2300  case 0xC0020026:
2301  return "RPC_NT_UNSUPPORTED_NAME_SYNTAX";
2302  case 0xC0020028:
2303  return "RPC_NT_UUID_NO_ADDRESS";
2304  case 0xC0020029:
2305  return "RPC_NT_DUPLICATE_ENDPOINT";
2306  case 0xC002002A:
2307  return "RPC_NT_UNKNOWN_AUTHN_TYPE";
2308  case 0xC002002B:
2309  return "RPC_NT_MAX_CALLS_TOO_SMALL";
2310  case 0xC002002C:
2311  return "RPC_NT_STRING_TOO_LONG";
2312  case 0xC002002D:
2313  return "RPC_NT_PROTSEQ_NOT_FOUND";
2314  case 0xC002002E:
2315  return "RPC_NT_PROCNUM_OUT_OF_RANGE";
2316  case 0xC002002F:
2317  return "RPC_NT_BINDING_HAS_NO_AUTH";
2318  case 0xC0020030:
2319  return "RPC_NT_UNKNOWN_AUTHN_SERVICE";
2320  case 0xC0020031:
2321  return "RPC_NT_UNKNOWN_AUTHN_LEVEL";
2322  case 0xC0020032:
2323  return "RPC_NT_INVALID_AUTH_IDENTITY";
2324  case 0xC0020033:
2325  return "RPC_NT_UNKNOWN_AUTHZ_SERVICE";
2326  case 0xC0020034:
2327  return "EPT_NT_INVALID_ENTRY";
2328  case 0xC0020035:
2329  return "EPT_NT_CANT_PERFORM_OP";
2330  case 0xC0020036:
2331  return "EPT_NT_NOT_REGISTERED";
2332  case 0xC0020037:
2333  return "RPC_NT_NOTHING_TO_EXPORT";
2334  case 0xC0020038:
2335  return "RPC_NT_INCOMPLETE_NAME";
2336  case 0xC0020039:
2337  return "RPC_NT_INVALID_VERS_OPTION";
2338  case 0xC002003A:
2339  return "RPC_NT_NO_MORE_MEMBERS";
2340  case 0xC002003B:
2341  return "RPC_NT_NOT_ALL_OBJS_UNEXPORTED";
2342  case 0xC002003C:
2343  return "RPC_NT_INTERFACE_NOT_FOUND";
2344  case 0xC002003D:
2345  return "RPC_NT_ENTRY_ALREADY_EXISTS";
2346  case 0xC002003E:
2347  return "RPC_NT_ENTRY_NOT_FOUND";
2348  case 0xC002003F:
2349  return "RPC_NT_NAME_SERVICE_UNAVAILABLE";
2350  case 0xC0020040:
2351  return "RPC_NT_INVALID_NAF_ID";
2352  case 0xC0020041:
2353  return "RPC_NT_CANNOT_SUPPORT";
2354  case 0xC0020042:
2355  return "RPC_NT_NO_CONTEXT_AVAILABLE";
2356  case 0xC0020043:
2357  return "RPC_NT_INTERNAL_ERROR";
2358  case 0xC0020044:
2359  return "RPC_NT_ZERO_DIVIDE";
2360  case 0xC0020045:
2361  return "RPC_NT_ADDRESS_ERROR";
2362  case 0xC0020046:
2363  return "RPC_NT_FP_DIV_ZERO";
2364  case 0xC0020047:
2365  return "RPC_NT_FP_UNDERFLOW";
2366  case 0xC0020048:
2367  return "RPC_NT_FP_OVERFLOW";
2368  case 0xC0030001:
2369  return "RPC_NT_NO_MORE_ENTRIES";
2370  case 0xC0030002:
2371  return "RPC_NT_SS_CHAR_TRANS_OPEN_FAIL";
2372  case 0xC0030003:
2373  return "RPC_NT_SS_CHAR_TRANS_SHORT_FILE";
2374  case 0xC0030004:
2375  return "RPC_NT_SS_IN_NULL_CONTEXT";
2376  case 0xC0030005:
2377  return "RPC_NT_SS_CONTEXT_MISMATCH";
2378  case 0xC0030006:
2379  return "RPC_NT_SS_CONTEXT_DAMAGED";
2380  case 0xC0030007:
2381  return "RPC_NT_SS_HANDLES_MISMATCH";
2382  case 0xC0030008:
2383  return "RPC_NT_SS_CANNOT_GET_CALL_HANDLE";
2384  case 0xC0030009:
2385  return "RPC_NT_NULL_REF_POINTER";
2386  case 0xC003000A:
2387  return "RPC_NT_ENUM_VALUE_OUT_OF_RANGE";
2388  case 0xC003000B:
2389  return "RPC_NT_BYTE_COUNT_TOO_SMALL";
2390  case 0xC003000C:
2391  return "RPC_NT_BAD_STUB_DATA";
2392  case 0xC0020049:
2393  return "RPC_NT_CALL_IN_PROGRESS";
2394  case 0xC002004A:
2395  return "RPC_NT_NO_MORE_BINDINGS";
2396  case 0xC002004B:
2397  return "RPC_NT_GROUP_MEMBER_NOT_FOUND";
2398  case 0xC002004C:
2399  return "EPT_NT_CANT_CREATE";
2400  case 0xC002004D:
2401  return "RPC_NT_INVALID_OBJECT";
2402  case 0xC002004F:
2403  return "RPC_NT_NO_INTERFACES";
2404  case 0xC0020050:
2405  return "RPC_NT_CALL_CANCELLED";
2406  case 0xC0020051:
2407  return "RPC_NT_BINDING_INCOMPLETE";
2408  case 0xC0020052:
2409  return "RPC_NT_COMM_FAILURE";
2410  case 0xC0020053:
2411  return "RPC_NT_UNSUPPORTED_AUTHN_LEVEL";
2412  case 0xC0020054:
2413  return "RPC_NT_NO_PRINC_NAME";
2414  case 0xC0020055:
2415  return "RPC_NT_NOT_RPC_ERROR";
2416  case 0x40020056:
2417  return "RPC_NT_UUID_LOCAL_ONLY";
2418  case 0xC0020057:
2419  return "RPC_NT_SEC_PKG_ERROR";
2420  case 0xC0020058:
2421  return "RPC_NT_NOT_CANCELLED";
2422  case 0xC0030059:
2423  return "RPC_NT_INVALID_ES_ACTION";
2424  case 0xC003005A:
2425  return "RPC_NT_WRONG_ES_VERSION";
2426  case 0xC003005B:
2427  return "RPC_NT_WRONG_STUB_VERSION";
2428  case 0xC003005C:
2429  return "RPC_NT_INVALID_PIPE_OBJECT";
2430  case 0xC003005D:
2431  return "RPC_NT_INVALID_PIPE_OPERATION";
2432  case 0xC003005E:
2433  return "RPC_NT_WRONG_PIPE_VERSION";
2434  case 0xC003005F:
2435  return "RPC_NT_PIPE_CLOSED";
2436  case 0xC0030060:
2437  return "RPC_NT_PIPE_DISCIPLINE_ERROR";
2438  case 0xC0030061:
2439  return "RPC_NT_PIPE_EMPTY";
2440  case 0xC0020062:
2441  return "RPC_NT_INVALID_ASYNC_HANDLE";
2442  case 0xC0020063:
2443  return "RPC_NT_INVALID_ASYNC_CALL";
2444  case 0x400200AF:
2445  return "RPC_NT_SEND_INCOMPLETE";
2446  case 0xC0140001:
2447  return "STATUS_ACPI_INVALID_OPCODE";
2448  case 0xC0140002:
2449  return "STATUS_ACPI_STACK_OVERFLOW";
2450  case 0xC0140003:
2451  return "STATUS_ACPI_ASSERT_FAILED";
2452  case 0xC0140004:
2453  return "STATUS_ACPI_INVALID_INDEX";
2454  case 0xC0140005:
2455  return "STATUS_ACPI_INVALID_ARGUMENT";
2456  case 0xC0140006:
2457  return "STATUS_ACPI_FATAL";
2458  case 0xC0140007:
2459  return "STATUS_ACPI_INVALID_SUPERNAME";
2460  case 0xC0140008:
2461  return "STATUS_ACPI_INVALID_ARGTYPE";
2462  case 0xC0140009:
2463  return "STATUS_ACPI_INVALID_OBJTYPE";
2464  case 0xC014000A:
2465  return "STATUS_ACPI_INVALID_TARGETTYPE";
2466  case 0xC014000B:
2467  return "STATUS_ACPI_INCORRECT_ARGUMENT_COUNT";
2468  case 0xC014000C:
2469  return "STATUS_ACPI_ADDRESS_NOT_MAPPED";
2470  case 0xC014000D:
2471  return "STATUS_ACPI_INVALID_EVENTTYPE";
2472  case 0xC014000E:
2473  return "STATUS_ACPI_HANDLER_COLLISION";
2474  case 0xC014000F:
2475  return "STATUS_ACPI_INVALID_DATA";
2476  case 0xC0140010:
2477  return "STATUS_ACPI_INVALID_REGION";
2478  case 0xC0140011:
2479  return "STATUS_ACPI_INVALID_ACCESS_SIZE";
2480  case 0xC0140012:
2481  return "STATUS_ACPI_ACQUIRE_GLOBAL_LOCK";
2482  case 0xC0140013:
2483  return "STATUS_ACPI_ALREADY_INITIALIZED";
2484  case 0xC0140014:
2485  return "STATUS_ACPI_NOT_INITIALIZED";
2486  case 0xC0140015:
2487  return "STATUS_ACPI_INVALID_MUTEX_LEVEL";
2488  case 0xC0140016:
2489  return "STATUS_ACPI_MUTEX_NOT_OWNED";
2490  case 0xC0140017:
2491  return "STATUS_ACPI_MUTEX_NOT_OWNER";
2492  case 0xC0140018:
2493  return "STATUS_ACPI_RS_ACCESS";
2494  case 0xC0140019:
2495  return "STATUS_ACPI_INVALID_TABLE";
2496  case 0xC0140020:
2497  return "STATUS_ACPI_REG_HANDLER_FAILED";
2498  case 0xC0140021:
2499  return "STATUS_ACPI_POWER_REQUEST_FAILED";
2500  case 0xC00A0001:
2501  return "STATUS_CTX_WINSTATION_NAME_INVALID";
2502  case 0xC00A0002:
2503  return "STATUS_CTX_INVALID_PD";
2504  case 0xC00A0003:
2505  return "STATUS_CTX_PD_NOT_FOUND";
2506  case 0x400A0004:
2507  return "STATUS_CTX_CDM_CONNECT";
2508  case 0x400A0005:
2509  return "STATUS_CTX_CDM_DISCONNECT";
2510  case 0xC00A0006:
2511  return "STATUS_CTX_CLOSE_PENDING";
2512  case 0xC00A0007:
2513  return "STATUS_CTX_NO_OUTBUF";
2514  case 0xC00A0008:
2515  return "STATUS_CTX_MODEM_INF_NOT_FOUND";
2516  case 0xC00A0009:
2517  return "STATUS_CTX_INVALID_MODEMNAME";
2518  case 0xC00A000A:
2519  return "STATUS_CTX_RESPONSE_ERROR";
2520  case 0xC00A000B:
2521  return "STATUS_CTX_MODEM_RESPONSE_TIMEOUT";
2522  case 0xC00A000C:
2523  return "STATUS_CTX_MODEM_RESPONSE_NO_CARRIER";
2524  case 0xC00A000D:
2525  return "STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE";
2526  case 0xC00A000E:
2527  return "STATUS_CTX_MODEM_RESPONSE_BUSY";
2528  case 0xC00A000F:
2529  return "STATUS_CTX_MODEM_RESPONSE_VOICE";
2530  case 0xC00A0010:
2531  return "STATUS_CTX_TD_ERROR";
2532  case 0xC00A0012:
2533  return "STATUS_CTX_LICENSE_CLIENT_INVALID";
2534  case 0xC00A0013:
2535  return "STATUS_CTX_LICENSE_NOT_AVAILABLE";
2536  case 0xC00A0014:
2537  return "STATUS_CTX_LICENSE_EXPIRED";
2538  case 0xC00A0015:
2539  return "STATUS_CTX_WINSTATION_NOT_FOUND";
2540  case 0xC00A0016:
2541  return "STATUS_CTX_WINSTATION_NAME_COLLISION";
2542  case 0xC00A0017:
2543  return "STATUS_CTX_WINSTATION_BUSY";
2544  case 0xC00A0018:
2545  return "STATUS_CTX_BAD_VIDEO_MODE";
2546  case 0xC00A0022:
2547  return "STATUS_CTX_GRAPHICS_INVALID";
2548  case 0xC00A0024:
2549  return "STATUS_CTX_NOT_CONSOLE";
2550  case 0xC00A0026:
2551  return "STATUS_CTX_CLIENT_QUERY_TIMEOUT";
2552  case 0xC00A0027:
2553  return "STATUS_CTX_CONSOLE_DISCONNECT";
2554  case 0xC00A0028:
2555  return "STATUS_CTX_CONSOLE_CONNECT";
2556  case 0xC00A002A:
2557  return "STATUS_CTX_SHADOW_DENIED";
2558  case 0xC00A002B:
2559  return "STATUS_CTX_WINSTATION_ACCESS_DENIED";
2560  case 0xC00A002E:
2561  return "STATUS_CTX_INVALID_WD";
2562  case 0xC00A002F:
2563  return "STATUS_CTX_WD_NOT_FOUND";
2564  case 0xC00A0030:
2565  return "STATUS_CTX_SHADOW_INVALID";
2566  case 0xC00A0031:
2567  return "STATUS_CTX_SHADOW_DISABLED";
2568  case 0xC00A0032:
2569  return "STATUS_RDP_PROTOCOL_ERROR";
2570  case 0xC00A0033:
2571  return "STATUS_CTX_CLIENT_LICENSE_NOT_SET";
2572  case 0xC00A0034:
2573  return "STATUS_CTX_CLIENT_LICENSE_IN_USE";
2574  case 0xC0040035:
2575  return "STATUS_PNP_BAD_MPS_TABLE";
2576  case 0xC0040036:
2577  return "STATUS_PNP_TRANSLATION_FAILED";
2578  case 0xC0040037:
2579  return "STATUS_PNP_IRQ_TRANSLATION_FAILED";
2580  default:
2581  return "STATUS_UNKNOWN";
2582  }
2583 }
2584 
2585 
2586 /* avoid stack overflow for dead symlinks */
2587 
2588 VOID
2589 Ext2TraceMcb(PCHAR fn, USHORT lc, USHORT add, PEXT2_MCB Mcb) {
2590  int i;
2591  CHAR _space[33];
2592 
2593  _snprintf(&_space[0], 32, "%s:%d:", fn, lc);
2594  _space[32] = 0;
2595  i = strlen(_space);
2596  while (i < 32) {
2597  _space[i++] = ' ';
2598  _space[i]=0;
2599  }
2600  if (add) {
2601  Ext2ReferXcb(&Mcb->Refercount);
2602  DEBUG(DL_RES, ("%s +%2u %wZ (%p)\n", _space, (Mcb->Refercount - 1), &Mcb->FullName, Mcb));
2603  } else {
2604  Ext2DerefXcb(&Mcb->Refercount);
2605  DEBUG(DL_RES, ("%s -%2u %wZ (%p)\n", _space, Mcb->Refercount, &Mcb->FullName, Mcb));
2606  }
2607 }
2608 
2609 KSPIN_LOCK Ext2MemoryLock;
2610 ULONGLONG Ext2TotalMemorySize = 0;
2611 ULONG Ext2TotalAllocates = 0;
2612 
2613 PVOID
2617  IN ULONG Tag
2618 )
2619 {
2621  PoolType,
2622  0x20 + NumberOfBytes,
2623  Tag);
2624  if (Buffer) {
2625  KIRQL Irql = 0;
2626  PULONG Data = (PULONG)Buffer;
2627  Data[0] = (ULONG)NumberOfBytes;
2628  Data[1] = (ULONG)NumberOfBytes + 0x20;
2629  memset(Buffer + 0x08, 'S', 8);
2630  memset(Buffer + 0x10 + NumberOfBytes, 'E', 0x10);
2631  Buffer += 0x10;
2632  KeAcquireSpinLock(&Ext2MemoryLock, &Irql);
2633  Ext2TotalMemorySize = Ext2TotalMemorySize + NumberOfBytes;
2634  Ext2TotalAllocates += 1;
2635  KeReleaseSpinLock(&Ext2MemoryLock, Irql);
2636  }
2637 
2638  return Buffer;
2639 }
2640 
2641 VOID
2642 Ext2FreePool(
2643  IN PVOID P,
2644  IN ULONG Tag
2645 )
2646 {
2647  PUCHAR Buffer = (PUCHAR)P;
2648  PULONG Data;
2650  KIRQL Irql;
2651 
2652  Buffer -= 0x10;
2653  Data = (PULONG)(Buffer);
2654  NumberOfBytes = Data[0];
2655  if (Data[1] != NumberOfBytes + 0x20) {
2656  DbgBreak();
2657  return;
2658  }
2659  for (i=0x08; i < 0x10; i++) {
2660  if (Buffer[i] != 'S') {
2661  DbgBreak();
2662  }
2663  Buffer[i] = '-';
2664  }
2665  for (i=0; i < 0x10; i++) {
2666  if (Buffer[i + NumberOfBytes + 0x10] != 'E') {
2667  DbgBreak();
2668  return;
2669  }
2670  Buffer[i + NumberOfBytes + 0x10] = '-';
2671  }
2672 
2673  KeAcquireSpinLock(&Ext2MemoryLock, &Irql);
2674  Ext2TotalMemorySize = Ext2TotalMemorySize - NumberOfBytes;
2675  Ext2TotalAllocates -= 1;
2676  KeReleaseSpinLock(&Ext2MemoryLock, Irql);
2677 
2679 }
2680 
2681 #else // EXT2_DEBUG
2682 
2683 PVOID
2687  IN ULONG Tag
2688 )
2689 {
2690  return ExAllocatePoolWithTag(
2691  PoolType,
2692  NumberOfBytes,
2693  Tag);
2694 }
2695 
2696 VOID
2698  IN PVOID P,
2699  IN ULONG Tag
2700 )
2701 {
2703 }
2704 
2705 #endif // !EXT2_DEBUG
ULONG DbgPrint(PCCH Format,...)
Definition: debug.c:416
#define KeQuerySystemTime(t)
Definition: env_spec_w32.h:570
signed char * PCHAR
Definition: retypes.h:7
int add
Definition: i386-dis.c:3122
struct _EXT2_FCB * PEXT2_FCB
#define IRP_MN_COMPRESSED
Definition: iotypes.h:4065
#define IN
Definition: typedefs.h:38
#define IRP_MN_NOTIFY_CHANGE_DIRECTORY
Definition: rdpdr.c:56
#define IRP_MJ_CREATE
Definition: rdpdr.c:44
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ ULONG _In_ FS_INFORMATION_CLASS FsInformationClass
Definition: fltkernel.h:1329
#define SL_INDEX_SPECIFIED
Definition: iotypes.h:1794
#define PsGetCurrentThread()
Definition: env_spec_w32.h:81
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
#define IRP_MJ_SHUTDOWN
static GLenum _GLUfuncptr fn
Definition: wgl_font.c:159
_In_ PIRP Irp
Definition: csq.h:116
unsigned char * PUCHAR
Definition: retypes.h:3
char CHAR
Definition: xmlstorage.h:175
#define IRP_MJ_PNP
Definition: cdrw_usr.h:52
LONG NTSTATUS
Definition: precomp.h:26
#define IRP_NOCACHE
#define IRP_MN_LOAD_FILE_SYSTEM
Definition: iotypes.h:4050
#define IRP_MN_UNLOCK_ALL_BY_KEY
Definition: iotypes.h:4057
#define IRP_MN_QUERY_DIRECTORY
Definition: rdpdr.c:55
VOID Ext2DbgPrintComplete(IN PIRP Irp, IN BOOLEAN bPrint)
static OUT PIO_STATUS_BLOCK OUT PVOID IN ULONG IN FILE_INFORMATION_CLASS FileInformationClass
Definition: pipe.c:75
PEXT2_GLOBAL Ext2Global
Definition: init.c:16
#define _GNU_NTIFS_
uint16_t * PWCHAR
Definition: typedefs.h:54
PVOID Ext2AllocatePool(IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes, IN ULONG Tag)
Definition: debug.c:2684
#define Ext2GetCurrentProcessName()
Definition: ext2fs.h:1452
_Out_ PKIRQL Irql
Definition: csq.h:179
ULONG ProcessNameOffset
#define FO_SYNCHRONOUS_IO
Definition: iotypes.h:1733
#define IRP_MN_COMPLETE
Definition: iotypes.h:4064
FORCEINLINE ULONG KeGetCurrentProcessorNumber(VOID)
Definition: ke.h:325
UCHAR KIRQL
Definition: env_spec_w32.h:591
else
Definition: tritemp.h:161
#define _snprintf
Definition: xmlstorage.h:200
NTFSIDENTIFIER Identifier
Definition: ntfs.h:511
#define IRP_MN_VERIFY_VOLUME
Definition: iotypes.h:4049
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define va_end(ap)
Definition: acmsvcex.h:90
#define PsGetCurrentProcess
Definition: psfuncs.h:17
PDEVICE_OBJECT DiskdevObject
Definition: ext2fs.h:530
unsigned char BOOLEAN
smooth NULL
Definition: ftsmooth.c:416
_In_ LPGUID _In_ PVOID Data
Definition: classpnp.h:778
char * va_list
Definition: acmsvcex.h:78
Definition: bufpool.h:45
#define IRP_MJ_QUERY_VOLUME_INFORMATION
Definition: rdpdr.c:50
USHORT Milliseconds
Definition: env_spec_w32.h:717
#define IRP_MJ_DIRECTORY_CONTROL
Definition: rdpdr.c:51
PDEVICE_OBJECT CdromdevObject
Definition: ext2fs.h:533
_Inout_ PFILE_OBJECT FileObject
Definition: cdprocs.h:593
enum _FSINFOCLASS FS_INFORMATION_CLASS
#define IRP_MN_MOUNT_VOLUME
Definition: iotypes.h:4048
BOOLEAN RtlTimeToTimeFields(IN PLARGE_INTEGER Time, IN PTIME_FIELDS TimeFields)
enum _FILE_INFORMATION_CLASS FILE_INFORMATION_CLASS
Definition: directory.c:44
#define IRP_MN_USER_FS_REQUEST
Definition: iotypes.h:4047
#define DL_DEFAULT
Definition: ext2fs.h:1415
if(!(yy_init))
Definition: macro.lex.yy.c:714
INT POOL_TYPE
Definition: typedefs.h:76
uint64_t ULONGLONG
Definition: typedefs.h:65
#define IRP_MJ_FILE_SYSTEM_CONTROL
#define KeAcquireSpinLock(sl, irql)
Definition: env_spec_w32.h:609
int strncmp(const char *String1, const char *String2, ACPI_SIZE Count)
Definition: utclib.c:534
VOID __cdecl Ext2Printf(PCHAR DebugMessage,...)
#define Ext2ReferXcb(_C)
Definition: ext2fs.h:967
#define IRP_MN_UNLOCK_ALL
Definition: iotypes.h:4056
* PFILE_OBJECT
Definition: iotypes.h:1955
#define ExAllocatePoolWithTag(hernya, size, tag)
Definition: env_spec_w32.h:350
CD_MCB Mcb
Definition: cdstruc.h:1022
#define IRP_MN_KERNEL_CALL
Definition: iotypes.h:4052
#define IRP_MJ_CLOSE
Definition: rdpdr.c:45
_In_ PPCI_DEVICE_PRESENCE_PARAMETERS Parameters
Definition: iotypes.h:872
static const WCHAR L[]
Definition: oid.c:1250
ULONG Type
Definition: ntfs.h:95
#define DRIVER_NAME
Definition: ext2fs.h:136
#define IRP_MN_MDL
Definition: iotypes.h:4063
#define PAGE_SIZE
Definition: env_spec_w32.h:49
#define P(row, col)
Status
Definition: gdiplustypes.h:24
#define IRP_MN_DPC
Definition: iotypes.h:4062
#define DL_ERR
Definition: ext2fs.h:1397
#define DL_RES
Definition: ext2fs.h:1403
#define DL_FUN
Definition: ext2fs.h:1400
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
ULONG_PTR SIZE_T
Definition: typedefs.h:78
__drv_aliasesMem FORCEINLINE PIO_STACK_LOCATION IoGetCurrentIrpStackLocation(_In_ PIRP Irp)
Definition: iofuncs.h:2745
ULONG Ext2GetProcessNameOffset(VOID)
struct _FileName FileName
Definition: fatprocs.h:884
PFILE_OBJECT FileObject
Definition: iotypes.h:2813
#define SL_RETURN_SINGLE_ENTRY
Definition: iotypes.h:1793
unsigned short USHORT
Definition: pedump.c:61
IN PVCB IN ULONG IN OUT PULONG IN BOOLEAN OUT PLARGE_MCB Mcb
Definition: fatprocs.h:334
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
#define SL_EXCLUSIVE_LOCK
Definition: iotypes.h:1790
unsigned int * PULONG
Definition: retypes.h:1
#define va_start(ap, A)
Definition: acmsvcex.h:91
PUCHAR Ext2NtStatusToString(IN NTSTATUS Status)
#define KeReleaseSpinLock(sl, irql)
Definition: env_spec_w32.h:627
#define IRP_MN_LOCK
Definition: iotypes.h:4054
#define SL_RESTART_SCAN
Definition: iotypes.h:1792
#define IRP_PAGING_IO
#define _vsnprintf
Definition: xmlstorage.h:202
#define IRP_MJ_LOCK_CONTROL
Definition: rdpdr.c:53
#define IRP_MJ_READ
Definition: rdpdr.c:46
IN ULONG IN ULONG Tag
Definition: evtlib.h:159
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
#define IRP_MJ_CLEANUP
void int int ULONGLONG int va_list * ap
Definition: winesup.h:32
_Must_inspect_result_ typedef _In_ PHYSICAL_ADDRESS _Inout_ PLARGE_INTEGER NumberOfBytes
Definition: iotypes.h:998
#define IRP_MJ_SET_INFORMATION
Definition: rdpdr.c:49
unsigned int ULONG
Definition: retypes.h:1
#define RtlZeroMemory(Destination, Length)
Definition: typedefs.h:261
#define DbgBreak()
Definition: ext2fs.h:46
VOID Ext2FreePool(IN PVOID P, IN ULONG Tag)
Definition: debug.c:2697
#define IRP_MJ_WRITE
Definition: rdpdr.c:47
#define DEVICE_NAME
Definition: ext2fs.h:137
#define IRP_MJ_QUERY_INFORMATION
Definition: rdpdr.c:48
#define DEBUG(args)
Definition: rdesktop.h:129
IO_STACK_LOCATION * PEXTENDED_IO_STACK_LOCATION
Definition: ext2fs.h:174
#define ExFreePoolWithTag(_P, _T)
Definition: module.h:1099
#define CDROM_NAME
Definition: ext2fs.h:138
struct _NAMED_PIPE_CREATE_PARAMETERS * Parameters
Definition: iotypes.h:2772
_In_ PFCB Fcb
Definition: cdprocs.h:151
IN BOOLEAN OUT PSTR Buffer
Definition: progress.h:34
static PTIME_FIELDS TimeFields
Definition: time.c:104
return STATUS_SUCCESS
Definition: btrfs.c:2966
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T _In_ POOL_TYPE PoolType
Definition: fltkernel.h:1444
#define memset(x, y, z)
Definition: compat.h:39
#define IRP_MN_UNLOCK_SINGLE
Definition: iotypes.h:4055
VOID Ext2DbgPrintCall(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
#define Ext2DerefXcb(_C)
Definition: ext2fs.h:968
#define IRP_MJ_DEVICE_CONTROL
Definition: rdpdr.c:52
#define SL_FAIL_IMMEDIATELY
Definition: iotypes.h:1789