OSRLogoOSRLogoOSRLogo x Seminar Ad

Everything Windows Driver Development

GoToHomePage xLoginx

    Sat, 10 Oct 2015     108370 members


  About This Site
What's New?
OSR Dev Blog
The NT Insider
The Basics
File Systems
ListServer / Forum
Driver Jobs
  Express Links
  · July-August 2015 Issue of The NT Insider Released!
  · The NT Insider Digital Edition - July-August 2015 Now Available!
  · OSR Seminar Schedule
  · Writing WDF Drivers: Advanced Implementation Techniques
  · Windows 8.1 Update: VS Express Now Supported



This utility (a C file with the "world largest switch statement") allows you to easily display the symbolic name of an NTSTATUS value. Converts the NTSTATUS values from the DDK into strings to print out. So, instead of printing out the hexadecimal value of the error code while debugging and then looking it up in ntstatus.h, you can just print out the symbolic constant in string form! Includes all NTSTATUS values from Windows 2000 through Windows Server 2003.

Version: V2.0
OS Support XP SP1, Server 2003
Date Updated: 10 April 2003
Author: OSR


?NTSTATUS View V2.0?Zip Archive, 16KB


Number Of Downloads
This utility has been downloaded 7519 times.

User Comments
Rate this utility and tell the community how well you like it. Is it a worthwhile download? Does it work as described?? Does it help you in your job as a driver writer or tester?
Click Here To Post Your Comment

"World's Largest Switch Statement"
I was looking for a list of NTSTATUS definitions on the internet (because I was too lazy to open ntstatus.h) and I found ntstatstr.c on your site. I wrote the same function, but I used a little-known macro trick which allowed me to do less than half as much work. Using '#' in a macro allows you to expand a macro variable to it's literal string (I don't recall if I'm using the correct jargon here). Also I don't know if this is ANSI compliant, but I thought you guys might like this:

#define CASE_RETURN_STRING(_constSTR) case (_constSTR): return( #_constSTR ); break;

char *DBGGetNtStatusString( NTSTATUS Status ) { switch( Status ) { CASE_RETURN_STRING (STATUS_SUCCESS); CASE_RETURN_STRING (STATUS_WAIT_1); ... lots of other NTSTATUSes here ... default: return( "UNKNOWN" ); break; } }

17-Jun-04, Bill Alexander

Post Your Comments.
Email this article.

Developing File Systems for Windows
Seattle, WA
20-23 Oct 2015

Writing WDF Drivers: Core Concepts

Palo Alto, CA
2-6 Nov 2015

Writing WDF Drivers: Core Concepts

Amherst, NH
2-6 Nov 2015

Kernel Debugging and Crash Analysis

Amherst, NH
9-13 Nov 2015

Writing WDF Drivers: Advanced Implementation Techniques

Amherst, NH
8-11 Dec 2015


Windows Debugger

Checked Build Downloads

Debugging Symbols

WDK Documentation

Windows WDK


Need to develop a Windows file system solution?

We've got a kit for that.

Need Windows internals or kernel driver expertise?

Bring us your most challenging project - we can help!

System hangs/crashes?

We've got a special diagnostic team that's standing by.

Visit the OSR Corporate Web site for more information about how OSR can help!

bottom nav links