Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
41 used & new from $5.49

Have one to sell? Sell yours here
 
   
Win32 System Programming: A Windows(R) 2000 Application Developer's Guide (2nd Edition) (Addison-Wesley Microsoft Technology Series)
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get yours here.
 
  

Win32 System Programming: A Windows(R) 2000 Application Developer's Guide (2nd Edition) (Addison-Wesley Microsoft Technology Series) (Hardcover)

by Johnson M. Hart (Author)
4.6 out of 5 stars See all reviews (17 customer reviews)

List Price: $59.99
Price: $40.49 & this item ships for FREE with Super Saver Shipping. Details
You Save: $19.50 (33%)
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 2 left in stock--order soon (more on the way).

Want it delivered Monday, July 13? Choose One-Day Shipping at checkout. Details
20 new from $5.95 21 used from $5.49

Frequently Bought Together

Customers buy this book with Multithreading Applications in Win32: The Complete Guide to Threads (Addison-Wesley Microsoft Technology Series) by Jim Beveridge

Win32 System Programming: A Windows(R) 2000 Application Developer's Guide (2nd Edition) (Addison-Wesley Microsoft Technology Series) + Multithreading Applications in Win32: The Complete Guide to Threads (Addison-Wesley Microsoft Technology Series)

Customers Who Bought This Item Also Bought

Programming Win32 Under the API (With CD-ROM)

Programming Win32 Under the API (With CD-ROM)

by Pat Villani
2.0 out of 5 stars (3)  $35.96
Windows 2000 Graphics API Black Book

Windows 2000 Graphics API Black Book

by Damon Chandler
Advanced Windows

Advanced Windows

by Jeffrey Richter
Win32 Programming (Addison-Wesley Advanced Windows Series)

Win32 Programming (Addison-Wesley Advanced Windows Series)

by Brent E. Rector
3.8 out of 5 stars (27)  $59.99
Essential COM (DevelopMentor Series)

Essential COM (DevelopMentor Series)

by Don Box
4.3 out of 5 stars (91)  $34.64
Explore similar items

Editorial Reviews

Product Description
A practical guide to the central features and functions of the Win32 API, Win32 System Programming, Second Edition, will get you up and running with Windows NT and Windows 2000. Unlike most Windows programming resources, this book focuses exclusively on the core system services--file system, memory, processes, communication, and security--rather than on the more commonly featured graphical user interface functions. Especially geared for those already familiar with UNIX or other high-end operating systems, Win32 System Programming, Second Edition, helps you to build on your knowledge base to learn Win32 features quickly and easily.

This new edition has been updated and enhanced with new coverage of network programming, servers, NT services, thread performance, and synchronization. It also offers a preview of Win64, the new 64-bit API for Windows 2000. Beginning with an examination of the features required in a single-process application, the text gradually progresses to increasingly sophisticated functions relating to a multithreaded environment. You will find extensive coverage of such critical Win32 topics as: * The Win32 file system
* Character I/O and Unicode
* The registry
* Structured exception handling
* Security services
* Memory management and DLLs
* Threads, process management, scheduling, and thread synchronization
* Interprocess communication, featuring pipes and mailslots
* Network programming with sockets
* NT services, including the service control handler, event logging, and debugging
* Asynchronous I/O
* Remote Procedure Calls

* Win64, covering architecture, programming models, data types, and legacy code migration Short, practical examples illustrate each topic, and are included on the accompanying CD-ROM and supporting Web site. The appendixes compare Win32, UNIX, and the C library; and provide performance measurements and results. Win32 System Programming, Second Edition, will give you a solid grounding in the core operating system functions of the Windows environment, an understanding of Win64 for Windows 2000, and the know-how you need to put them to work.

From the Inside Flap
This book shows how to use the Win32 Application Programming Interface (API) and the emerging Win64 API, concentrating on the core system services, including the file system, process and thread management, interprocess communication, network programming, and synchronization. User interfaces, internals, and I/O drivers, although important and interesting topics, are beyond the scope of this book. The examples concentrate on scenarios that are likely to arise in practice, and in many cases the examples can be used as bases for real applications.

The Win32 API is supported by Microsoft's family of 32-bit operating systems:

Windows 2000, Windows NT, Windows 98, Windows 95, and Windows CE. Win64, to

be supported as a 64-bit interface on Windows 2000, is very similar, and migration

issues are discussed as required. There is no doubt that Win32, along with Win64,

is an important factor for application developers, in many cases replacing UNIX

as the preferred API for application programs targeted at desktop and server

systems. Many observers predict that Win32 will become the dominant programming

interface, although it appears that UNIX and Win32 will continue to coexist

and that each will find its own niche.

Regardless of the outcome of the operating system wars, many experienced programmers

will want to learn the Win32 API quickly, and this book is designed to help

them do so.

The first objectives are to explain what Win32 is, show how to use it in realistic

situations, and do so as quickly as possible without burdening the reader with

unnecessary detail. This book is, therefore, not comprehensive, but it explains

the central features of the most important functions and shows how to use them

in realistic programming situations. Equipped with this knowledge, the reader

will be able to use the comprehensive Microsoft reference documentation to explore

details, advanced options, and the more obscure functions as requirements or

interests dictate. I have found the Win32 API easy to learn using this approach,

and I have greatly enjoyed developing Win32 programs, despite occasional frustration.

This enthusiasm will show through at times, as it should. This does not mean

that I feel that Win32 is necessarily better than other operating system APIs,

but it certainly has many attractive features. Many Win32 books assume that the user is familiar only with 16-bit Windows 3.1 programming. These books spend a great deal of time explaining how processes, virtual memory, interprocess communication, and preemptive scheduling work without showing how to use them in realistic situations. A programmer experienced in UNIX, VAX VMS, IBM MVS, or another high-end operating system--that is, nearly anything other than the long-obsolete Windows 3.1 Win16 API--will be familiar with these concepts and will be impatient to find out how they are implemented in Win32. Most Win32 books also spend a great deal of space on user interface programming. This book avoids the user interface, beyond discussing simple character-based console I/O, in the interest of concentrating on the important core features.

This book takes the point of view that Win32 is just an operating system (OS)

API, providing a well understood set of features. Many programmers, regardless

of experience level, need to learn Win32 and the Windows operating systems quickly,

and an understanding of Win32 is invaluable in discussing subjects such as Microsoft's

Component Object Model (COM). The Windows systems, when compared with other

systems, have good, bad, and average features and quality. The purpose of this

book is to show how to use those features efficiently and in realistic situations

to develop useful, high-quality, and high-performance applications.

 

Audience

Anyone who has experience programming in UNIX or another operating system, even Windows 3.1, and who wants to learn about Win32 quickly. Programmers and software engineers who must port existing applications, often in UNIX, to Win32 for operation under Windows 2000 or any of the other Windows platforms. This book contains many comparisons among Win32, UNIX, and standard C library functions and programming models. All common UNIX functionality, including process management, synchronization, file systems, and interprocess communication, is covered in Win32 terms. Programmers who are developing servers or other systems or components in which management of resources such as processes and threads is of primary importance and in which the user interface is of secondary importance. Programmers using COM or DCOM will find much of the information here helpful in understanding COM's DLL usage, thread models, interfaces, and synchronization. Readers starting new projects who are not constrained by the need to port existing code. Many aspects of program design and implementation are covered, and Win32 functions are used to create useful applications and to solve common programming problems. Computer science students at the upperclass undergraduate or beginning graduate level in courses covering systems programming or application development. This book will also be useful to those who are learning multithreaded programming or need to build networked applications. This book would be a useful complementary text to a book such as W. Richard Stevens' Advanced Programming in the UNIX Environment (see the Bibliography) so that students could compare Win32 and UNIX. Students in operating systems courses will find this book to be a useful supplement as it illustrates how a commercially important operating system provides essential OS functionality.

The only other assumption, implicit in all the others, is a knowledge of C

programming.

 

Organization
Chapters are organized topically so that the features required in even a single-threaded

application are covered first, followed by process and thread management features,

and finally network programming in a multithreaded environment. This organization

allows the reader to advance logically from file systems to security, memory

management, and file mapping, and then to processes, threads, and synchronization,

followed by interprocess and network communication. This organization also allows

the examples to evolve in a natural way, much as a developer might create a

simple prototype and then add additional capability. The advanced features,

such as asynchronous I/O, appear last.

Within each chapter, after introducing the functionality area, such as process

management or memory-mapped files, we discuss important Win32 functions and

their relationships in detail. Illustrative examples follow. Within the text,

only essential parts of programs are listed; complete programs and the required

include files, utility functions, and the like are in an appendix or on the

disc provided with the book. Throughout, we identify those features supported

only by Windows 2000 and NT, because Windows 98, 95, and CE do not implement

many advanced features. Each chapter suggests related additional reading and

gives some exercises. Many exercises address interesting and important issues

that did not fit within the normal text, and others allow the reader to explore

advanced or specialized topics.

Chapter 1 is a high-level introduction to the Windows OS family and Win32.

A simple example program shows the basic elements of Win32 programming style

and lays the foundation for more advanced Win32 features. Win64 and migration

issues are introduced in Chapter 1, described extensively in Chapter 16, and

included throughout the book as required.

Chapters 2 and 3 deal with file systems, console I/O, file locking, and directory

management. Unicode, the extended character set used by Windows 2000/NT, is

also introduced in Chapter 2. Examples include sequential and direct file processing

and a directory traversal program. Chapter 3 ends with a discussion of registry

management programming, which is similar in many ways to file and directory

management.

Chapter 4 introduces Win32's Structured Exception Handling (SEH) capability,

which will be used extensively throughout the book. Many books defer SEH to

later chapters, but by introducing it early we will be able to use SEH throughout

and thus simplify some programming tasks and improve quality.

Chapter 5 explains Windows NT object security, showing, in an example, how to emulate UNIX-style file permissions. Security upgrades can then be applied to the examples as appropriate. Although security is used in the later chapters, feel free to skip this chapter if you are not interested in this topic.

Chapter 6 treats Win32 memory management and shows how to use memory-mapped

files both to simplify programming and for performance. This chapter also covers

dynamic link libraries (DLLs).

Chapter 7 introduces Win32 processes, process management, and simple process

synchronization. Chapter 8 then describes thread management in similar terms.

Examples in each chapter show the many benefits, including program simplicity

and performance, of threads and processes.

Chapters 9 and 10 provide an extended, in-depth treatment of Win32 thread synchronization,

one of Win32's strong features. Synchronization is a complex topic, and these

two chapters use extended examples and well understood models to help you obtain

the programming and performance benefits of threads while avoiding many of the

pitfalls. Chapters 11 and 12 are concerned with interprocess and interthread communication and networking. Chapter 11 concentrates on the features that are properly part of Win32--namely, pipes, named pipes, and mailslots. Chapter 12 treats Windows Sockets, which allow interoperability with non-Windows systems using industry-standard protocols, primarily TCP/IP. Windows Sockets, while not strictly part of Win32, provide for network and Internet communication and interoperability, and the subject matter is consistent with the rest of the book. A multithreaded client/server system illustrates how to use interprocess communication along with threads.

Chapter 13 describes how Windows 2000 and Windows NT provide "NT services"

that allow you to manage background servers, such as the ones created in Chapters

11 and 12. Some small programming changes will turn the servers into NT services.

Chapter 14 shows how to use overlapped I/O with events and completion routines. For file systems, this feature applies only to Windows 2000 and NT, and you can achieve much the same thing with threads. The closely related I/O completion ports are, however, necessary for scalable multithreaded servers, so this feature is illustrated with the servers created in Chapters 11, 12, and 13. Waitable timers are described, because they require concepts first introduced in Chapter 14.

Chapter 15 concludes with a survey of two specialized topics: Remote Procedure Calls (RPCs) and Microsoft's COM object model, which integrates many of the concepts in the book. Remote procedures and COM objects frequently use the features described throughout this book. Simple examples are included, and this chapter illustrates that readers now have the necessary information to learn other Win32 topics beyond the core system services.

Chapter 16 describes the Win64 programming issues and how to plan for application

migration and portability.

There are three appendices. Appendix A describes the programs on the disc and

how to use them. Appendix B contains several tables that compare Win32 functions

with their counterparts in UNIX and the Standard C library. Appendix C compares

the performance of alternative implementations of some of the examples in the

text so that you can gauge the trade-offs between Win32 features, both basic

and advanced, and the C library.

 

Notes on the Second Edition
The Second Edition includes extensive new material along with significant updating

and reorganization. Objectives of the Second Edition include:

Cover Windows 2000 and Win64 migration. Provide increased coverage of threads and synchronization. Chapter 10 is new, as are the examples in Chapter 9. Add coverage of sockets and remote procedure calls (Chapters 12 and 15) and NT services (Chapter 13), thereby dealing with issues that are important when developing services and servers, particularly for Windows 2000. Describe the performance implications of threads and synchronization in more depth (Chapters 9 and 10). Incorporate reader and student feedback to fix defects, improve explanations, improve the organization, and address numerous small details.

 

UNIX and C Library Notes

and Tables
Within the text at appropriate points, we contrast Win32 style and functionality

with the comparable UNIX (and LINUX) and ANSI Standard C library features. Tables

listing the comparable functions are presented in Appendix B. This information

is included because many readers are familiar with UNIX and are interested in

the comparisons between the two systems. Readers without a UNIX background should

feel free to skip these paragraphs. Such discussions are indented, in a smaller

font.

 

Examples
The examples are designed to do the following:

Illustrate common, representative, and useful applications of the Win32 functions. Correspond to real programming situations encountered in program development, consulting, and teaching. Some of my clients and course participants have used the code examples as the bases for their own systems. During my consulting activities, I frequently encounter code that is similar to that used in the examples, and on several occasions I have seen code taken directly from the First Edition. (Feel free to do so yourself, and an acknowledgment in your documentation would be greatly appreciated.) Frequently, this code occurs as part of COM or C++ objects. The examples are "real-world" examples and solve "real-world" problems. Emphasize how the functions actually behave and interact, which is not always as you might first expect after reading the documentation. Throughout this book, the text and the examples concentrate on interactions between functions rather than the functions themselves. Grow and expand, adding new capability to a previous solution in an easy and natural manner and exploring alternative implementation techniques.

In the earlier chapters, many examples implement UNIX commands, such as

ls, touch, chmod, and sort, showing the Win32 functions in a familiar context

while creating a useful set of utilities. Different implementations of the

same command will also give us an easy way to compare performance benefits

available with advanced Win32 features. Appendix C contains the results of

these performance tests.

Examples in the early chapters are usually short, but the later chapters present longer examples when appropriate.

Exercises at the end of each chapter suggest alternative designs, subjects

for investigation, and additional functionality that is important but beyond

the scope of this book. Some exercises are easy, and a few are very challenging.

Frequently, clearly labeled defective solutions are provided, because fixing

the bugs is an excellent way to sharpen skills.

All examples have been debugged and tested under Windows 2000, Windows NT,

and, where appropriate, Windows 98 and 95. For Windows NT testing we used Version

4.0, and although the bulk of the development was performed on single-processor,

Intel-based systems, many programs were also tested on multiprocessor systems.

The client/server applications have been tested using multiple clients simultaneously

interacting with a server. Nonetheless, there is no guarantee or assurance of

program correctness, completeness, or fitness for any purpose. Undoubtedly,

even the simplest examples contain defects or will fail under some conditions;

such is the fate of nearly all software. I will, however, gratefully appreciate

any messages regarding program defects--and, better still, fixes.The code will be updated as required when

defects are found and fixed and as reader input is received. If you encounter

any difficulties with the programs or any material in the book, check this location

first, because there may already be a fix or explanation. If that does not answer

your question, feel free to send e-mail to jmhart@world.std.

0201703106P04062001

See all Editorial Reviews


Product Details

  • Hardcover: 544 pages
  • Publisher: Addison-Wesley Professional; 2 edition (October 9, 2000)
  • Language: English
  • ISBN-10: 0201703106
  • ISBN-13: 978-0201703108
  • Product Dimensions: 9.6 x 7.7 x 1.2 inches
  • Shipping Weight: 2.3 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars See all reviews (17 customer reviews)
  • Amazon.com Sales Rank: #783,394 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #18 in  Books > Computers & Internet > Programming > APIs & Operating Environments > Win32 API

Look Inside This Book

What Do Customers Ultimately Buy After Viewing This Item?

Win32 System Programming: A Windows(R) 2000 Application Developer's Guide (2nd Edition) (Addison-Wesley Microsoft Technology Series)
33% buy the item featured on this page:
Win32 System Programming: A Windows(R) 2000 Application Developer's Guide (2nd Edition) (Addison-Wesley Microsoft Technology Series) 4.6 out of 5 stars (17)
$40.49
Windows System Programming (3rd Edition) (Addison-Wesley Microsoft Technology Series)
27% buy
Windows System Programming (3rd Edition) (Addison-Wesley Microsoft Technology Series) 4.5 out of 5 stars (14)
$54.59
Windows via C/C++ (Pro - Developer)
21% buy
Windows via C/C++ (Pro - Developer) 4.6 out of 5 stars (14)
$44.09
Microsoft Windows Internals (4th Edition): Microsoft Windows Server 2003, Windows XP, and Windows 2000
10% buy
Microsoft Windows Internals (4th Edition): Microsoft Windows Server 2003, Windows XP, and Windows 2000 4.5 out of 5 stars (35)
$37.79

Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product).
Check a corresponding box or enter your own tags in the field below.

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

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 Reviews

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

 
13 of 13 people found the following review helpful:
5.0 out of 5 stars Not bad. Not bad at all., May 20, 2003
By Robert K. Tribit (Mckinney, Texas) - See all my reviews
(REAL NAME)   
This book is roughly the same as Steven's "Advanced Programing in the Unix Environment". It gets you in touch with the moving pieces of the Windows operating system.

Bring with you a strong understanding of C/C++ and some experience administrating a Windows system and you can be up and running banging against the operating system's APIs. Open network sockets, play with "Thread Local Storage", create and register your very own service, interface with the security system, whack around the registry, and a dozen other ways to shoot yourself in the foot or get some actual work done.

This book has almost nothing about making windows, graphics, sounds, or anything else that will help you get started making yet another accounting application. If that's what you are looking for look somewhere else.

This book also comes threateningly close to being a good beginners guide to porting *nix applications to the Windows operating system. The author draws many parallels to various *nix utilities and how to write their equivalent using Windows' APIs.

For those that like plenty of rope to hang themselves, this is the book for you. I enjoyed learning about the various facilities Windows provides the developer, and feel that this book helped me gain a better understanding of where to look first for doing fairly common relatively low-level tasks.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
12 of 12 people found the following review helpful:
5.0 out of 5 stars an excellent follow up to a great book, November 16, 2000
By Andrew Tucker (Seattle, WA USA) - See all my reviews
(REAL NAME)   
John Hart has done a fabulous job of expanding and updating his coverage of Win32 system programming. Unique in it's perspective of educating programmers familiar with UNIX or a similar OS, this book explains the landscape of Win32 operating systems, how they relate to each other and what features are present or missing from each of them.

With almost 150 pages of new material, John digs way beneath the surface and covers new topics such as advanced thread synchronization, sockets, Windows 2000, Win64, and performance comparisons of multiple ways to solve a problem. Many existing topics are also updated and have new sample programs.

The appendix cross reference of Win32, UNIX, and C runtime library APIs that was in the first edition has also been revisitied and expanded. A very valuable resource for anyone new to either OS or working with both.

In short, if you are coming to Win32 from a UNIX background this is definitely the book for you. If you're already a crack Win32 programmer, you'll probably learn a lot as well.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
4 of 4 people found the following review helpful:
4.0 out of 5 stars Please note that there is a third edition of this book!, October 7, 2005
By Carl (Philadelphia, PA USA) - See all my reviews
The rating I give here is just based on a skim of the book. However, after visiting the author's website, I very quickly realized that there is a more recent (2004) third edition of the text. Unless you specifically want a more historical perspective, I would recommend that you get the third edition.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


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

5.0 out of 5 stars Just about everything I wanted to know
This book pretty much covers everything I needed to know about Win32 system programming. It has very good coverage of topics like threading, file handling, Memory Management,... Read more
Published on June 26, 2006 by Jeffery Suddeth

2.0 out of 5 stars Not enough for the price
I thought the book was well written and would be marginally useful as a basic reference book but I expected more content such at the WIN32 API and more than just a preview of... Read more
Published on September 19, 2005 by Roger A. Smith

5.0 out of 5 stars Plenty contents and easy to read
This is one of the best books I read. The description is clear. It used some UNIX commands to introduce some functions, but the reader needs not to have UNIX background, just... Read more
Published on April 11, 2002 by Daxin Zuo

5.0 out of 5 stars Just about everything I wanted to know...
This book pretty much covers everything I needed to know about Win32 system programming. It has very good coverage of topics like threading, file handling, Memory Management,... Read more
Published on November 20, 2001 by Jeffery Suddeth

3.0 out of 5 stars a real reference book would be better
1. While this book is not a real reference book since it is not complete at all, many pages are wasted by listing system calls with parameters. Read more
Published on October 20, 2001

5.0 out of 5 stars save time and gain more
int main(you, PPtime){ if (you_do_NOT_have(big_time)) you_read(this_book)); while(!reading_finished){ your_need (MSDN_doc)--; if (you_know(Unix_API) your_gain (Win32)=*4;... Read more
Published on August 15, 2001 by supertopspin

5.0 out of 5 stars Chapter 1 is worth it alone if you are newbie to Win32...
OK.. I'm not an expert programmer.. I taught myself some C/C++ because I want to write utilities to make my life as a Network/Server guy easier and have a solid understanding of... Read more
Published on August 1, 2001 by Mark W. Romanowitz

5.0 out of 5 stars Good resource on Win 32 systems programming
This book is extremely easy to read. It is a great reference for experienced UNIX system programmers who want to quickly implement the same functionality on Win 32. Read more
Published on June 16, 2001 by Jagdeep S Sandhu

5.0 out of 5 stars An excellent resource book! A step above the rest!
This is one of those book you wait a long time for and then when you get it you're glad you waited! The author has filled this book with some amazing information about Win32... Read more
Published on November 28, 2000 by R. Coleridge

5.0 out of 5 stars Get this Heavenly Book NOW!
Hi there! Are u a programmer that loves Win32 stuff and system programming? If you're........then......GET THIS BOOK RIGHT NOW! Stop looking! This is the BOOK for you! Read more
Published on November 11, 2000 by Xeon

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

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


Active discussions in related forums
   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


An Explosion of Popcorn Flavor!

Fireworks Popcorn & Seasoning Set
Munchies have never been better. The Fireworks Popcorn & Seasoning Set gives you four popcorn types and four seasonings, including white cheddar, butter burst, caramel pecan, and popcorn salt--all for $15.49.
 

Best Books of 2008

Best of 2008
Find our top 100 editors' picks as well as customers' favorites in dozens of categories in our Best Books of 2008 Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Rake the Roof

Shop for Snow Rakes
Prevent snow damage and keep your roof clear with a snow rake from the Home Improvement Store.

Shop all snow removal products

 

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates