WIN32 System Services: The Heart of Windows 95 & Windows NT

Overview

As you approach Windows NT and Windows 95, you will find that they are modern, robust and extremely rich operating systems that let application developers exploit a wealth of cutting-edge features, and capabilities. Both operating systems are based on the Win32 API, an immense collection of C level functions that provides access to all available system services. You may have heard about many of these cutting edge features multiple application threads, remote procedure calls (RPCs), network communications, file ...
See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (12) from $1.99   
  • New (1) from $115.00   
  • Used (11) from $1.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$115.00
Seller since 2014

Feedback rating:

(136)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Close
Sort by
Sending request ...

Overview

As you approach Windows NT and Windows 95, you will find that they are modern, robust and extremely rich operating systems that let application developers exploit a wealth of cutting-edge features, and capabilities. Both operating systems are based on the Win32 API, an immense collection of C level functions that provides access to all available system services. You may have heard about many of these cutting edge features multiple application threads, remote procedure calls (RPCs), network communications, file mapping, compressed file access, serial communications, object and file security, synchronization, event logging, TCP/IP networking, interprocess communication, network drive and printer sharing, services (background processing), and registry entries. Win32 System Services: The Heart of Windows 95 and Windows NT helps you rapidly master these capabilities so that you can use them effectively in your own applications. Now in its second edition, Win32 System Services provides the road map you need to explore Windows NT and Windows 95 with confidence. The book's many useful features include over 9,000 lines of source code, a complete on-line index, and compatibility notes in each chapter to help you quickly understand the differences between the Windows NT version of Win32 and the Windows 95 subset.

Updated and revised to include new information on Windows 95 and the changes that have occurred in Windows NT, this book details the nitty-gritty of this popular environment. It covers the internal workings of Windows NT and Windows 95. The accompanying disk contains the source code for all the examples in the book and an online index to every word in the book.

Read More Show Less

Editorial Reviews

Booknews
A book/disk package showing programmers how to use Win32 system services such as synchronization, event logging, and network communications in their own programs. Organized by functional categories such as file I/O, disk drives, and directories, chapters offer general overviews, describe subsets of functions, and offer examples combining different capabilities from several chapters to create larger applications. The accompanying disk contains source code for examples and an on-line index. Assumes knowledge of C language. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780133247329
  • Publisher: Prentice Hall Professional Technical Reference
  • Publication date: 11/29/1995
  • Edition description: Older Edition
  • Edition number: 2
  • Pages: 866
  • Product dimensions: 6.06 (w) x 11.42 (h) x 1.34 (d)

Read an Excerpt

PREFACE: The Win32 system services are the innovative, cuttingedge 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 easytounderstand 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 networksupport 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 32bit API very rarely exist on their ownit 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 standalone 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 MSDOS 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 0133051455) 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 << "Enter a line of text: ";

// Read a line of text from the user

cin.getline(s,100);

// Echo the user's input to stdout

cout << s << endl;

This code declares a character string s, and then uses "cout <<" to output a prompt to the user. The "cin.getline" statement reads a line of text from the user. The final "cout" statement echoes the line.

The book Visual C++: Developing Professional Applications in Windows 95 and NT using MFC by Marshall Brain and Lance Lovette (ISBN 013 3051455) contains an extensive C++ appendix to help you get started with the language if you are interested. It will also help you to understand the MFC code. The Diskette and the Online Index

The diskette included with this book contains the source code for all of the examples in the book, as well as the source and data for an on line indexing program. The index is broken down by sections and includes every word found in the manuscript. To use the index, follow the directions in the README file on the disk to compile the program.

When you run the index, you will see a display that contains an edit area, three buttons (Help, Search and Quit), and a list area. Any words that you type in the edit area are used to search for appropriate sections. For example, if you want to find out how to create a DLL entry point, you would type "DLL entry point" in the edit area. Press the Search button to begin the search. The index program wi ll list all sections that contain all three of those words. Enter as many words as you like to hone the search. Word matching is exact and caseinsensitive. If a word does not appear in the book the program will tell you.

There are many cases where an exact match does not work well. For example, there may be a section that contains "thread" and "create" but not "creating" and "threads," so if you enter the line "creating threads" on the edit line you get no matches. Y ou can use the "*" wild card character at the end of a word to solve this problem. For example, by entering "creat*" the system will OR together all words with the root "creat" ("create," "creates," "creation," etc.). You may want to get in the habit of using the wild card character at the end of all words: "creat* thread*," for example. This often yields more accurate results.

If an obvious word seems to be missing from the index, try to find it in the book to make sure you are spelling it correctly. For example, "resize" is spelled "resize" in the book, and you need to spell it the same way.

Contents of the Book

Each chapter in this book talks about a different service in the 32 bit API. Chapter 1 contains a list of the 110 most common questions about the system services, and it will help you to very quickly find material that interests you. The list below s ummarizes the different chapters in the book to help you with browsing.

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 32bit 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 multithread your own applications, and the chapter shows you how to multithread 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 multithreaded 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 textbased 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" knowledgeknowledge 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 highintensity 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.
Read More Show Less

Table of Contents

Preface
1 Introduction 1
2 Files 24
3 Drives 84
4 Directories 115
5 Processes and Threads 139
6 Synchronization 204
7 Network Communications 282
8 Remote Procedure Calls 373
9 Services 465
10 Security 540
11 Consoles 640
12 Communications 682
13 System Information 719
14 Dynamic Link Libraries 741
15 Miscellaneous 769
A Compiling the Code in This Book 837
B Contacting the Author 846
C Error Codes 849
Index 851
Read More Show Less

Preface

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 aboutthreads 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 << "Enter a line of text: ";

// Read a line of text from the user

cin.getline(s,100);

// Echo the user's input to stdout

cout << s << endl;

This code declares a character string s, and then uses "cout <<" to output a prompt to the user. The "cin.getline" statement reads a line of text from the user. The final "cout" statement echoes the line.

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) contains an extensive C++ appendix to help you get started with the language if you are interested. It will also help you to understand the MFC code. The Diskette and the On-line Index

The diskette included with this book contains the source code for all of the examples in the book, as well as the source and data for an on- line indexing program. The index is broken down by sections and includes every word found in the manuscript. To use the index, follow the directions in the README file on the disk to compile the program.

When you run the index, you will see a display that contains an edit area, three buttons (Help, Search and Quit), and a list area. Any words that you type in the edit area are used to search for appropriate sections. For example, if you want to find out how to create a DLL entry point, you would type "DLL entry point" in the edit area. Press the Search button to begin the search. The index program wi ll list all sections that contain all three of those words. Enter as many words as you like to hone the search. Word matching is exact and case-insensitive. If a word does not appear in the book the program will tell you.

There are many cases where an exact match does not work well. For example, there may be a section that contains "thread" and "create" but not "creating" and "threads," so if you enter the line "creating threads" on the edit line you get no matches. Y ou can use the "*" wild card character at the end of a word to solve this problem. For example, by entering "creat*" the system will OR together all words with the root "creat" ("create," "creates," "creation," etc.). You may want to get in the habit of using the wild card character at the end of all words: "creat* thread*," for example. This often yields more accurate results.

If an obvious word seems to be missing from the index, try to find it in the book to make sure you are spelling it correctly. For example, "resize" is spelled "re-size" in the book, and you need to spell it the same way.

Contents of the Book

Each chapter in this book talks about a different service in the 32- bit API. Chapter 1 contains a list of the 110 most common questions about the system services, and it will help you to very quickly find material that interests you. The list below s ummarizes the different chapters in the book to help you with browsing.

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.
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)