Pocket PC Network Programming
B. Makofsky, Steven Makofky · 2003
From the Book: Get busy living, or get busy dying.--Andy Dufresne, The Shawshank Redemption Every once in a while, new technologies emerge that profoundly change the way we conduct our daily lives. Just look at the invasion of the cellular phone. Once thought to be just a toy for the rich, cell phones today have become an essential (and sometimes overly bothersome) part of every day life--in fact, I have friends that have replaced their home phones exclusively with cell phones. Over the last few years, Personal Digital Assistants (PDA's) have been slowly changing their way people manage their personal information and the way that they communicate. When Microsoft originally launched the Windows CE operating system back in 1996 with the Handheld PC, people were not quite sure what to make of these mini-computers and whether or not they would actually replace notebooks and paper organizers. Over the last few years, they have slowly made their way through the backdoor of companies once people began to realize the potential, convenience and power of having ultra portable computing devices in their pocket, regardless of the strange looks from co-workers. Combined with the ability to communicate on the with both other devices and the Internet, a mobile revolution was poised to begin. With the recent advent of higher speed wireless connections, the true power of the Pocket PC 2002 platform can finally be exploited by developers and the users of their applications. Wireless communications has often been called the PDA killer and the demand for that are networked has skyrocketed. The mobile device revolution is upon us. About This Book This book is both a tutorial and reference guide for writing on Pocket PC 2002 and Pocket PC 2002 Phone Edition devices. The term network applications does not limit the scope of this book to programs that use the Internet, but rather any type of application that needs to communicate with another device or computer over some form of communications link. Topics such as device synchronization, protocols and programming and even writing with the new .NET Compact Framework are covered. If you are writing any type of software that falls into those categories, we think you will want this book as part of your reference library. While the complexity of this book will range from beginner to advanced, it is written in a fashion that will enable developers to jump around to a specific topic that is of particular interest to them (including a handy frequently asked questions list, located after the table of contents, which will help you locate the solution to common questions). Intended Audience for This Book Pocket PC Network Programming is written for software developers who understand the basics of writing Pocket PC in C/C++ and have written software for these devices before. If you have developed programs with Visual Basic for Windows CE, or have done any type of programming on the Windows platform, you should also feel fairly comfortable while reading this book. You should be aware that this book is not intended as an introduction to Pocket PC programming or the basics of Windows CE, however if you have previously written any type of application, you should be able to follow along without much difficulty. In addition, the final chapter will cover topics specific to the future of networking using C# and the .NET Compact Framework for the Pocket PC. System Requirements In order to write software for the Pocket PC 2002 platform, you will need to have installed Embedded Visual C++ version 3.0, along with the Pocket PC 2002 Platform SDK. The toolkit and SDK are currently available for free download. To work with the .NET Compact Framework (as described in Chapter 10), you will need to use Visual Studio.NET 2003, which is also available from Microsoft. Organization of This Book This book has a fairly straightforward organization: Chapters 1 thru 3 focus on writing that communication and use the Internet. This includes the basics of Winsock, WinINET and the IP Helper API's, and includes information about popular Internet protocols such as HTTP and FTP. Chapter 4 looks at using a Pocket PC 2002 device with a Windows based including using resources such as shared drives and printers. Chapter 5 covers the aspects of working with both Serial and Infrared communications. Chapter 6 and 7 focuses on using the Remote Access capabilities of the Pocket PC. This includes creating, establishing and controlling dialup connections, as well as detailed information on integrating your application with the Pocket PC Connection Manager. Chapter 8 deals exclusively with the Pocket PC 2002 Phone Edition and covers topics such as SMS Messaging, GSM, and interacting with the Subscriber Identity Module. Chapter 9 looks at how to build that are designed for synchronization with a desktop computer. Everything from remote control of a device from a desktop, to building an ActiveSync synchronization provider is covered here. Chapter 10 dives into the Pocket Outlook Object Model and how to build that seamlessly integrate with Contact, Application and Task data. Chapter 11 deals with the Mail API. Everything you ever would want to know about writing email enabled is in this chapter. Chapter 12 takes a look at using the new .NET Compact Framework with regards to and integrating with Pocket PC 2002 functionality. For Updated Information While every effort was made to make sure that this book is accurate and contains no errors, sometimes things do slip through the cracks.