Have one to sell? Sell yours here
Win 32 System Services: The Heart of Windows 95 and Windows NT
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Win 32 System Services: The Heart of Windows 95 and Windows NT [Paperback]

Marshall Brain (Author)
4.4 out of 5 stars  See all reviews (9 customer reviews)


Available from these sellers.



Book Description

November 29, 1995
For any Windows NT or Windows 95 developer. The most complete, up-to-date coverage available of Win32 system services for both Windows NT 3.51 and Windows 95. This book, fully updated to reflect Microsoft's recent Win32 improvements, shows how to use all these services in applications development. Win32 system services are the innovative, cutting-edge capabilities that make Windows NT and Windows 95 programming so exciting.

Editorial Reviews

From the Publisher

The most complete, up-to-date coverage available of Win32 system services for both Windows NT 3.51 and Windows 95. This book, fully updated to reflect Microsoft's recent Win32 improvements, shows how to use all these services in applications development. Win32 system services are the innovative, cutting-edge capabilities that make Windows NT and Windows 95 programming so exciting.

From the Inside Flap

The Win32 system services are the innovative, cutting-edge capabilities that make Windows NT and Windows 95 interesting and exciting. Amid all of the media attention surrounding Windows NT or 95, you have probably heard and read about many of the mod ern capabilities that these operating systems contain:

Processes and threads

Synchronization

Remote Procedure Calls (RPCs)

Event logging

Network communications

TCP/IP networking with UNIX and OS/2 machines

File mapping

Interprocess communication

Compressed file access

Network drive and printer sharing

Serial communications

Services (background processing like UNIX daemons)

Object and file security

The goal of this book is to show you how to use all of these different services in your own applications. This book contains hundreds of concise, clear, and easy-to-understand example programs and explanations. The examples show you how to access the system services listed above, as well as many others. You can use these examples directly to understand the concepts. You can also drop the sample code into your own programs and then extend it to give your applications new and useful features.

By learning about the many and varied system services available inside of Windows, you can make your programs much more interesting to the user. For example, if you learn about threads and then add multiple threads to your applications, the user gets a much smoother interface (see Chapter 5). Your program will also take advantage of multiple processors on machines that have them. If you add network support to your applications, then the user is able to access network resources that are unavailab le on a single machine (see Chapter 7). If you add modem support, then you can use it to let the user dial into a remote system (see Chapter 12). Or you might use a modem to let the user dial a support line or registration system for a product that y our company sells.

The goal of this book is to give you a thorough and clear understanding of the system services so that you can take advantage of all of the capabilities that Windows has to offer.

Audience

This book is designed for two types of people. If you are a devoted connoisseur or student of programming, the study of the system functions is interesting in its own right. It's fun to see what is available, and to try to think of ways to exploit th ose capabilities. One way to use this book is to simply browse through it and see what is possible. You can work with the examples and extend them in ways that you find enjoyable.

If, on the other hand, you are a programmer with a deadline, enjoyable entertainment is probably not your goal. You may have looked at the huge number of functions in the Windows API and found it discouraging.

Where do you start? What you want is a s et of useful examples and clear explanations that quickly solve your specific problems. You will find this book useful because it organizes concepts logically and provides the material that you need to master a specific topic very quickly.

If you are migrating from another operating system to Windows, this book will help you to quickly map your existing knowledge into the Windows framework. See Chapter 1 for a list of the 110 most common programming questions in Windows as well as the sections that contain the answers.

Organization

This book is organized by functional categories. For example, Chapter 2 talks about all of the functions that pertain to File I/O and file handling. Chapter 3 deals with disk drives. Chapter 4 discusses directories. Chapter 5 talks about processes an d threads. And so on. You will find that each chapter starts with a general overview of the topic, followed by sections that describe and give examples for subsets of functions.

In many chapters you will find integrating examples that combine different capabilities from several chapters to create larger applications. Many of these larger examples form complete applications that you can use as starting points for new projects of your own.

Philosophy

Several principles guide the design of this book. The first principle is the most important and is therefore woven throughout: it is simplicity. There is nothing worse than trying to look up a function, only to find that its example is embedded withi n sample code that takes three days to comprehend because it is 28 pages long. In all cases functions are first demonstrated in code that is as simple as possible so that you can extract the essence of each one very quickly. Then they may also be int egrated into larger examples. In many cases you will look at the example code and say to yourself, "This is easy!" That is exactly the intent. If the book makes everything look simple and easy for you, then it has accomplished its goal.

The second principle found in this book revolves around the idea of functional families. Functions in the 32-bit API very rarely exist on their own--it is far more common to find small collections of functions that relate very closely to one another. For example, the ReadFile function reads from a file, but you must open the file with CreateFile before you can read from it and then remember to close it with CloseHandle afterwards (see Chapter 2). These functions belong to a family. In this book you will generally find small groupings of functions described as logical units.

The third principle in this book is that of currency. The Windows API has been around for some time, and when you look at it you will find that there is a certain layering. The documentation will often say things like, "this function is retained for compatibility with version 1.8, but has been superseded by function xyz." This book deals only with the current functions, and leaves the superseded ones to die in peace.

The last principle guiding this book is independence. Each chapter in this book is as stand-alone as possible, so that you can jump around in the book as you please. In cases where material from other chapters is important, you will find references t o the related sections.

Prerequisites and Languages

This book makes no assumptions about former knowledge of systems programming in Windows or in any other system. Its only real assumption is that you know C and/or C++. You will find that the example code divides into two categories:

1. Text examples that run in console mode. These programs run from the MS-DOS prompt, accept keyboard input, and produce text output. They form the vast majority of the code in this book because they are simple. These programs are C++ compatible, but the only elements really being used from C++ are the I/O stream libraries.

2. "Windows" programs that use the Windows GUI. These programs use C++ and the Microsoft Foundation Class library (MFC). The book Visual C++: Developing Professional Applications in Windows 95 and NT using MFC by Marshall Brain and Lance Lovette (ISBN 0-13-305145-5) describes how to create programs with MFC, and will be helpful to you in understanding these examples if you are not already familiar with MFC.

If you are a C programmer with no C++ experience, you will have no trouble understanding the console programs. The only unusual thing you will see is code that looks like this:

char s100;

// Prompt the user

cout Chapter 1 is an introduction.
It contains a list of the 110 most common programming questions about the Windows system services. This list will serve as a good road map for you. The chapter also contains general information that is useful thr oughout the book.

Chapter 2 discusses files.
It shows you how to open, read, and write files, how to read from compressed files, how to map files into memory, and so on. The 32-bit API contains quite a few very interesting file capabilities.

Chapter 3 talks about the directory structure.
It shows you how to create and traverse directory trees.

Chapter 4 introduces the drive structure of Windows.
You will learn how to query the drives on your local machine, and also how to query and connect to drives on the network.

Chapter 5 offers a complete introduction to processes and threads in the Windows environment.
You will see how to multi-thread your own applications, and the chapter shows you how to multi-thread MFC applications as well. There is also a disc ussion of processes, interprocess communication, and inheritance.

Chapter 6 discusses Windows synchronization mechanisms.
Critical sections, mutexes, semaphores and events help you to write multi-threaded code that does not step on itself. The chapter introduces you to general synchronization principles and bugs, and shows solutions to a number of standard problems. It also shows you how to incorporate synchronization mechanisms into an MFC program without stalling its event loop.
Chapter 7 talks about network communications.
Windows contains two different native technologies for communicating over the network: mailslots and named pipes. Windows also supports UPD and TCP packets on TCP/IP networks. The latter capabilit ies let you intercommunicate with UNIX and other TCP/IP machines. The chapter includes a complete introduction to network principles and terminology.

Chapter 8 talks about Remote Procedure Calls, or RPCs. An RPC lets you make a function call that is transmitted over the network and executed on another machine.
This chapter contains a complete introduction to the hows and whys of RPCs, as w ell as design principles to keep in mind when creating client/server systems with RPCs. It contains examples of auto, implicit, explicit, and context binding, and also shows how to incorporate RPCs into MFC programs.

Chapter 9 discusses NT services.
These are background processes that start at boot time and run regardless of who is logged in, just like daemons in UNIX. This chapter shows you how to create your own services and install them in NT's service manager. It also shows you how to place RPC servers into services so they run continuously.
Chapter 10 offers a complete introduction to the NT security system.
This system is uniform across all NT objects, so you learn how to secure files, registry keys, pipes, semaphores, and so on. It teaches you everything you need to know to cr eate and modify access control lists and security descriptors.

Chapter 11 discusses consoles, which you will use when you want to create text-based programs in Windows.
For example, if you want to create a terminal emulator, consoles offer an easy way to handle the keyboard input and character output for the emulator.

Chapter 12 talks about communications ports in Windows systems.
It shows you how to access both the serial and parallel ports, and demonstrates a simple terminal emulator and bulletin board system.

Chapter 13 shows you how to access system information, and how to log users off and shutdown or reboot the system.
For example, this chapter shows you how to determine how many CPUs a system contains, or how many buttons there are on the mous e.

Chapter 14 shows you how to modularize your programs using dynamic link libraries (DLLs).
Windows can be thought of as an extensible operating system because of DLLs. A programmer can easily add capabilities that others can use by creating a DLL and publishing its interface. Windows itself places much of its functionality in DLLs.

Chapter 15 contains short discussions and examples on six miscellaneous topics: the registry, the event log, the Windows time model, error handling, structured exception handling, and the memory model.

Appendix A shows you how to compile the different types of code found in the book.

Appendix B contains information on contacting the author via Email to ask questions and retrieve free supplements and updates to this book.

Contacting the Author: Questions, Comments, and Version Changes

One thing about Microsoft is that it never stands still for very long. Its compilers change versions and the libraries are upgraded constantly. One of the goals in creating this book is to make its code as compatible as possible with existing and fut ure releases of Microsoft compiler products. Another goal is to give you "investment- grade" knowledge-knowledge that does not lose its value over time, and that is transferable between as many different platforms as possible.

As things change however, you need a way to get updates and corrections. You may also have questions, comments or suggestions for improving this book. If so, we would like to hear from you. You can use our free Email information server to get updates and supplements to this book. You can also send questions and comments via Email or U.S. mail. Please see Appendix B for instructions.

Acknowledgments

I would like to sincerely thank Shay Woodard for his effort on this book. Shay developed quite a few of the example programs that you will find here, including most of the code in Chapters 5, 7, 8, 10, and 15.

This book would not exist were it not for Mike Meehan.

A group of very high-intensity systems programmers helped this book by providing technical proofing skills. I would like to thank Michael S. Yoder, Lida Chen, T. Ramjee, Richard P. Basch, Kevin Hanrahan, Tony Morris, Vladimir Svirsky, Jasmine Ved, Be n Rosenbaum and Paul Horan for their help.

I also thank Leigh Ann Brain for being my wife, and for her tremendous support, patience, and back rubs.

Product Details

  • Paperback: 896 pages
  • Publisher: Prentice Hall; 2 Pap/Dis edition (November 29, 1995)
  • Language: English
  • ISBN-10: 0133247325
  • ISBN-13: 978-0133247329
  • Product Dimensions: 9.1 x 6.8 x 1.2 inches
  • Shipping Weight: 2.8 pounds
  • Average Customer Review: 4.4 out of 5 stars  See all reviews (9 customer reviews)
  • Amazon Best Sellers Rank: #566,879 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

9 Reviews
5 star:
 (7)
4 star:
 (1)
3 star:    (0)
2 star:    (0)
1 star:
 (1)
 
 
 
 
 
Average Customer Review
4.4 out of 5 stars (9 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

5 of 5 people found the following review helpful:
4.0 out of 5 stars Delivers what it promises, June 11, 1998
By A Customer
This review is from: Win 32 System Services: The Heart of Windows 95 and Windows NT (Paperback)
This is the book for you if you need to learn quickly about a particular feature in the win32 API and incorporate that in your code. Although it does not go into as much detail as Jeffrey Richter's 'Advanced Windows', it covers areas that Richter left out, such as RPC, Named pipes,mail slots,sockets. Also, it's much easier on the reader compared to the former.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


4 of 4 people found the following review helpful:
5.0 out of 5 stars Essential for significant programming under Windows/NT, November 13, 1998
This review is from: Win 32 System Services: The Heart of Windows 95 and Windows NT (Paperback)
This is the single best book for Unix programmers who need to port applications to Windows/NT. It has saved me weeks of work, that would have been spent poring through obfuscated Microsoft documentation.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


3 of 3 people found the following review helpful:
5.0 out of 5 stars An Excellent Win32 Reference, January 4, 1999
By A Customer
This review is from: Win 32 System Services: The Heart of Windows 95 and Windows NT (Paperback)
I bought the book to learn more about WinRPC but I ended up getting a lot more out of it. This book covers a wide range of topics including Networking, Security, IPC, Multi-Threading and NT Services. It is the perfect reference book for Win32 systems developers.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews







Only search this product's reviews



Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Discussion Replies Latest Post
Why are people here so scientifically illiterate 7045 1 minute ago
Creationists are trying to rewrite the Laws of Thermodynamics! 891 9 minutes ago
Global warming is nothing but a hoax and a scare tactic 8618 12 minutes ago
Can evolution produce a Supreme Being? 424 26 minutes ago
Abiogenesis be Manned- There is no evidence for life having started naturally on Earth. 40 34 minutes ago
Is Space Something? Is Time Something? Or are they Nothing? When Did Space First Begun? When Did Time First Begin? 321 40 minutes ago
What is the difference between Lorentz Transformation and the Theory of Special Relativity? 165 1 hour ago
Insane book prices 10 4 hours ago
Search Customer Discussions
Search all Amazon discussions
   
Related forums


Listmania!


Create a Listmania! list

So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject