ReactOS  0.4.14-dev-1034-g1e60116
nts2w32err.c
Go to the documentation of this file.
1 /*
2  * Convert NTSTATUS codes to Win32 error codes: run it
3  * on a NT box AND on a ROS box, then diff the results.
4  *
5  * This utility should help keeping correct how Ros
6  * translates executive's errors codes into Win32 error
7  * codes.
8  *
9  * Usage: nts2w32err [MaxStatusCode] > log.txt
10  *
11  * 2004-01-10 Emanuele Aliberti
12  *
13  */
14 #define WIN32_NO_STATUS
15 #include <windows.h>
16 #include <stdlib.h>
17 #include <ntndk.h>
18 #include <stdio.h>
19 
20 int main (int argc, char * argv [])
21 {
22  NTSTATUS Severity = 0;
23  NTSTATUS StatusCode = STATUS_SUCCESS;
25  DWORD LastError = ERROR_SUCCESS;
26  DWORD Maximum = 0x40000;
27 
28  if (2 == argc)
29  {
30  sscanf (argv[1], "%lx", & Maximum);
31  }
32 
33  printf ("NT error codes 0x0-0x%lx that get translated *not* to ERROR_MR_MID_NOT_FOUND (317)\n\n", Maximum);
34 
35  for ( Severity = 0;
36  Severity < 4;
37  Severity ++)
38  {
39  printf ("--- Severity %ld ---\n", Severity);
40 
41  for ( StatusCode = STATUS_SUCCESS;
42  StatusCode <= Maximum ;
43  StatusCode ++)
44  {
45  Status = ((Severity << 30) | StatusCode);
46  LastError = RtlNtStatusToDosError (Status);
47  if (ERROR_MR_MID_NOT_FOUND != LastError)
48  {
49  printf ("0x%08lx => %ldL\n", Status, LastError);
50  }
51  }
52  }
53  return EXIT_SUCCESS;
54 }
55 /* EOF */
static int argc
Definition: ServiceArgs.c:12
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG NTSTATUS
Definition: precomp.h:26
int main(int argc, char *argv [])
Definition: nts2w32err.c:20
#define argv
Definition: mplay32.c:18
#define EXIT_SUCCESS
Definition: rdjpgcom.c:55
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
_Check_return_ _CRTIMP int __cdecl sscanf(_In_z_ const char *_Src, _In_z_ _Scanf_format_string_ const char *_Format,...)
unsigned long DWORD
Definition: ntddk_ex.h:95
#define ERROR_MR_MID_NOT_FOUND
Definition: winerror.h:321
Status
Definition: gdiplustypes.h:24
return STATUS_SUCCESS
Definition: btrfs.c:2938
#define printf
Definition: config.h:203