Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


May 1997

Reader to Reader - May 1997

RSS
Subscribe to Windows IT Pro | See More Windows NT 4.0 Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

Writing a Windows NT 4.0 device driver is no easy task, even for an experienced programmer. I found a book, The Windows NT Device Driver Book, by Art Baker, that can make this job practical, if not simple. This new book thoroughly covers the environment, concepts, tools, and techniques you need to write many types of device drivers. Because NT 4.0 device drivers run in kernel mode, which is a higher privilege level than ordinary user programs, they use special operating system interfaces and require special programming techniques; the drivers typically use C and avoid assembly language code.

The experienced programmer will find this book critical for developing any device driver. The key topics include the special requirements of code that uses shared resources and executes on multiple CPUs; the hardware and software environments of a device driver; the objects NT uses to manage devices and drivers; how a driver communicates with the hardware; special operating system calls; the components of a device driver; how to build, install, and debug a device driver; how to instrument and gain maximum performance from a device driver; how to synchronize access to shared objects from multiple execution threads; and how to extend WINDBG for your device driver.

I'd prefer more illustrations. However, the book offers enough code examples to make coding and design principles clear, including a parallel port driver, a full-duplex 16550 Universal Asynchronous Receiver Transmitter (UART) driver, and examples of lower-level routines. The book includes a floppy with the code examples in machine-readable form. Besides this book, the only tools you need are the NT Device Driver Kit, the Win32 Software Development Kit, and documentation about the specific hardware device the driver will use.

No other book covers this subject for NT 4.0 with as much clarity and detail. I consider The Windows NT Device Driver Book an indispensable resource for any NT device driver developer.


Email Auto Responders
Recently, someone sent email to my auto responder (email account that automatically performs tasks on an email message; e.g., reading the From or Reply-To address of an incoming email and responding with a stock text answer). The message's return address was an auto responder. What happened next was the creation of more than 10,000 separate emails.

How did this message proliferation happen? The email query to me resulted in a response to the sender, which in turn generated a post to me, which required a response to the original sender. The cycle of these constant replies created a loop between two email servers.

You can imagine the effect all this auto-responding had on my server. Because of the volume of messages the loop caused, my server began to close down. It was processing 1 message every 20 seconds. One message becomes three files as it moves through my email server (from the incoming message queue to the outgoing message queue).

All these messages caused several problems: The server could not properly route or accept email because the server was so busy parsing and sending messages in the loop. My poor mailbox grew from a usual 200KB to a whopping 25MB (I get a copy of every message that goes to the auto responder address--a nice option of my email server). I was never able to successfully read the file, so I just deleted it and lost any and all email--possibly forever. More and more of my computer's resources went to cycling the email server so it could deal with the onslaught of activity. This load made getting into or accessing other services on the computer difficult. Bandwidth usage shot up, which made downloading pages from the Web server difficult. On my server, disk space was at a premium. Besides the increased space my mailbox was using, the files awaiting processing added another 25MB.


Stop the Madness
To stop the auto-response loop, I not only had to bring down my email server, but I also had to locate the instigator's server. Fortunately, I was able to read the interim email files, and after reading 50 or 60 of them, I learned that bob@foo.com (the name is changed) was the culprit.

Now the question was how to find bob@foo.com. I could have sent him email--but his address was an auto responder! Luckily, I understand Domain Name System (DNS) and how domain names are recorded.

Whois, the facility for reading the information in InterNIC's database of domain names, told me the technical contact's phone number. This ISP was able to turn off the link to foo.com. All in all, this little nightmare took most of my morning to solve and a whole day to put to bed.

What if this situation happens to multiple auto responders on different servers? Keep adding servers to this equation because the problem can affect two servers: sender and recipient. Now add the load of large numbers of unnecessary email messages floating back and forth on the Internet backbone. What do you have? A disaster!

Can you prevent this disaster? Yes, depending on your platform (Windows NT, UNIX, or Mac). You can mitigate the problems.

1. If you use a mailbot, a list, or anything else that generates email automatically, make sure every mail header that it sends includes a Reply-To line. A Reply-To supersedes the From address when the receiving mail client wants to send a reply.

2. In a Reply-To line, never put the address of something that automatically generates data. Always make sure replies come to an account that a person has to read first.

3. Use a mailbot that caches messages before sending them. Even a delay of a minute between the incoming and outgoing messages will dramatically reduce the amount of spam.

The Windows NT Device Driver Book: A Guide for Programmers
Author: Arthur H. Baker
Publisher: Prentice Hall PTR
Upper Saddle River, NJ, 1997
ISBN 0-13-184474-1
Price: $44.95; 522 pages

End of Article



Reader Comments
The May Reader to Reader section included Mike Maddox’s book review of The Windows NT Device Driver Book. Mike had nothing but good things to say about the book.
Open Systems Research (OSR) reviewed the same book in its newsletter. OSR is highly regarded for its NT driver work and courses that its staff teaches worldwide. OSR’s review found numerous mistakes in the book that should be obvious to anyone who has written a driver before.
I think you need to be cautious about allowing such reviews of technical references in your magazine unless you know a knowledgeable person is doing the review. Many of your readers might have purchased this book and might be unaware of the false information. The review should discuss the technical aspects of the book and not the lack of pictures. I look to this magazine for valid information about NT; seeing this review made me a little concerned.<br>
--Tom Carr<br><br>


<i>Tom, thank you for your letter and its important message. The Reader to Reader section is a forum for readers to express their opinions, and Windows NT Magazine does not necessarily endorse them. From now on, we’ll include such a statement with this section.<br>
--Karen Forster</i>

Tom Carr August 12, 1999


You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
CES 2009: Ballmer Announces Windows 7, Windows Live, Live Search Milestones

During his first-ever Consumer Electronics Show (CES) 2009 keynote address last night in Las Vegas, Microsoft CEO Steve Ballmer announced the pending public availability of a feature-complete Windows 7, the final version of Windows Live Essentials, and ...

Command Prompt Tricks

One reader shares his tip for setting up the command prompt to reflect a remote path. ...

Where is Microsoft NetMeeting in Windows XP?

...


Windows OSs Whitepapers Why SaaS is the Right Solution for Log Management

Related Events Virtualization Forum: Optimizing Storage, Networks, Desktops, and Security

Cloud Computing Forum: Integrating Software, Server and Storage as a Service into Your Enterprise IT Delivery Model

Virtualization Forum: Optimizing Storage, Networks, Desktops, and Security

Check out our list of Free Email Newsletters!

Windows OSs eBooks Understanding and Leveraging Code Signing Technologies

A Guide to Windows Certification and Public Keys

SQL Server Administration for Oracle DBAs

Related Windows OSs Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technology Resource Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2009 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing