3 * Convert NTSTATUS codes to Win32 error codes: run it
4 * on a NT box AND on a ROS box, then diff the results.
6 * This utility should help keeping correct how Ros
7 * translates executive's errors codes into Win32 error
10 * Usage: nts2w32err [MaxStatusCode] > log.txt
12 * 2004-01-10 Emanuele Aliberti
15 #include <ddk/ntddk.h>
19 int main (int argc
, char * argv
[])
21 NTSTATUS Severity
= 0;
22 NTSTATUS StatusCode
= STATUS_SUCCESS
;
23 NTSTATUS Status
= STATUS_SUCCESS
;
24 DWORD LastError
= ERROR_SUCCESS
;
25 DWORD Maximum
= 0x40000;
29 sscanf (argv
[1], "%lx", & Maximum
);
32 printf ("NT error codes 0x0-0x%lx that get translated *not* to ERROR_MR_MID_NOT_FOUND (317)\n\n", Maximum
);
38 printf ("--- Severity %ld ---\n", Severity
);
40 for ( StatusCode
= STATUS_SUCCESS
;
41 StatusCode
<= Maximum
;
44 Status
= ((Severity
<< 30) | StatusCode
);
45 LastError
= RtlNtStatusToDosError (Status
);
46 if (ERROR_MR_MID_NOT_FOUND
!= LastError
)
48 printf ("0x%08lx => %ldL\n", Status
, LastError
);