16.6 Error Logging and NTSTATUS Values

Windows NT is designed to be both more robust and more "user-friendly" than some PC operating systems with respect to runtime errors. That is, the system is designed to do the following:

·To continue running without allowing one component (or thread) to corrupt other components' code or data when an error occurs

·To continue running without sending a flood of cryptic error messages to end users whenever errors occur

Granted that some I/O errors are user-induced. For example, a request to read data from a file on removable media when the user has supplied the wrong diskette, tape, or CD-ROM causes a user-induced I/O error. Such an error can be corrected readily when the user is prompted to supply the appropriate media, as discussed in Section 16.7.

Other I/O errors cannot be readily corrected by the majority of end users. For these kinds of I/O errors, Windows NT continues to run without forcing the user to become aware of errors that the user cannot fix immediately. Instead, it provides a system error-logging thread that formats and stores information about I/O errors as entries in a file.

The Win32 event viewer, which reads and displays this error log file, allows Windows NT users, system administrators, or support technicians to monitor the condition of the hardware in a given machine and replace failing hardware as necessary, to tune the configuration of devices in the machine for better performance, and to debug hardware problems if they occur.