Windows CE 3.0

Windows CE 3.0 : Application Programming

2 (2 ratings by Goodreads)
By (author)  , By (author) 

List price: US$53.50

Currently unavailable

Add to wishlist

AbeBooks may have this title (opens in new window).

Try AbeBooks


With Windows CE 3.0, CE finally comes of age as a development platform -- and as a development opportunity. Now's the time to master CE development -- but many CE programming books focus almost entirely on building attractive user interfaces, and leave you hanging when it comes to the rest. Not this one! Windows CE 3.0: Application Programming offers comprehensive, code-rich coverage of CE networking, communications, database access, desktop interoperability, COM/ActiveX, mail store and messaging, power management -- everything you need to know to build world-class Windows CE 3.0 apps! Nick Gratten and Marshall Brain deliver extensive code examples throughout -- as well as great tips for leveraging your existing Visual C++ expertise. Master CE 3.0 file access and directories; processes and threads; and using ActiveSync to synchronizing PDAs and desktops. Build networked CE applications; learn expert techniques for managing limited memory; access databases; build components with COM and ActiveX; and more -- including today's most effective CE user interface development solutions.
show more

Product details

  • Mixed media product | 544 pages
  • 179.3 x 235.5 x 34.3mm | 1,025.13g
  • Prentice Hall
  • Upper Saddle River, United States
  • English
  • w. figs.
  • 0130255920
  • 9780130255921

Table of contents

1. Introduction.

About Microsoft Windows CE. Microsoft Pocket PC. Handheld PC. Palm Size PC. About This Book. About You. About MFC (Microsoft Foundation Classes) and ATL (ActiveX Template Libraries). eMbedded Visual C++ 3.0. Common Executable Format (CEF). Emulation Environments. The Code Samples. Unicode Text and Strings. Generic String and Character Data Types. String Constants. Calculating String Buffer Lengths. Standard String Library Functions. Converting Between ANSI and Unicode Strings. Error Checking. Exception Handling and Page Faults. Conclusion.

2. Files.

Overview. Opening and Reading from a File. Getting and Setting File Information. Getting the File Times. Getting File Size. Getting File Attributes. Getting All File Information. File Operations. File Reading and Writing. File Mapping. Conclusion.

3. Object Store, Directory, and Network Operations.

Getting Object Store Free Space. Creating and Deleting Directories. Traversing Directory Trees. Compact Flash and Other Storage Devices. Auto-Run Applications on Compact Flash Cards. Enumerating Compact Flash Cards. WNet Functions. Enumerating Network Resources. Adding and Canceling Connections. Adding and Canceling Connections With Dialogs. Using Network Printers. Getting User Names. Listing Current Connections. Conclusion.

4. Property Databases and the Registry.

Database Volumes. Creating and Mounting Database Volumes. Unmounting a Volume. Flushing a Database Volume. Listing Mounted Database Volumes. Properties. Sort Orders. Creating a Property Database. Opening and Closing Property Databases. Deleting Property Databases. Writing Records. Reading Records. Using the CEVT_BLOB Property Data Type. Searching for Records. Deleting Properties and Records. Updating Database Records. Database notifications. Listing Database Information. Changing Database Attributes. Using MFC Classes with Property Databases. Opening and Creating Databases. Reading and Writing Records. Seeking to Records. Deleting Records and Properties. Serialization and BLOBs. Accessing the Registry. Adding and Updating Registry Keys and Values. Querying a Registry Value. Deleting a Registry Value. Deleting a Registry Key. Enumerating a Registry Key. Implementing a Record Counter using the Registry. Conclusion.

5. Processes and Threads.

Creating a Process with CreateProcess. Process Kernel Object Handles and identifiers. Creating a Process with ShellExecuteEx. Waiting for a Process to Terminate. Process Exit Code. Listing Running Processes. Modules Used by a Process. Terminating a Process. Determining If a Previous Instance of a Process Is Running. Threads. User-Interface and Worker Threads. Accessing Global and Local Variables In Threads. Using Correct Thread Processing. Creating a Thread. Terminating a Thread and Thread Exit Codes. Thread States. Thread Scheduling. Thread Priorities. Enumerating Threads. Determine Thread Execution Times. Creating Threads with MFC. Conclusion.

6. Thread Synchronization.

The Need for Synchronization. Critical Sections. The Interlocked Functions. WaitForSingleObject and WaitForMultipleObjects. Using Mutex Objects. Using Event Objects. Using Semaphores. Selecting the Correct Synchronization Technique. Thread Local Storage and Dynamic Link Libraries. Conclusion.

7. notifications.

Running an Application at a specified Time. Using Mini-Applications with notification. Starting an Application on an Event. Manually Controlling the LED. User notification. CeSetUserNotificationEx. Conclusion.

8. Communications Using TCP/IP: HTTP and Sockets.

Overview of TCP/IP Communications. Programming the HTTP Protocol. Simple HTTP Requests. Initializing the Internet Function Library-InternetOpen. Making the HTTP Request-InternetOpenUrl. Retrieving the Data-InternetReadFile. Tidying Up-InternetCloseHandle. More Complex HTTP Requests Using a Session. Cracking the URL-InternetCrackUrl. Connecting to a Server-InternetConnect. Obtaining a Request Handle-HttpOpenRequest. Making the Request-HttpSendRequest. Using a Proxy Server. Connecting to Secure Sites. Authentication with InternetErrorDlg. Authentication with InternetSetOption. Sending Data to a Server. Sending Data with the URL. Posting Data to the Server. HTTP in Summary. Socket Programming. Socket Clients and Servers. Initializing the Winsock Library. Manipulating IP Addresses. Determining a Device's IP Address and Host Name. Implementing a Ping Function. Simple Socket Sample Application. The Socket Client Application. Integer Byte Ordering. The Socket Server Application. Lingering and Timeouts. Infrared Data Association (IrDA) Socket Communications. Enumerating IrDA Devices. Opening an IrDA Socket Port. Conclusion.

9. Serial Communications.

Basic Serial Communications. Opening and configuring a Serial Communications Port. Reading Data from the Communications Port. Closing a Communications Port. Writing to a Communications Port. Testing Communications. GPS and NMEA. The NMEA 0183 Standard. Connecting Windows CE and GPS Devices. Reading Data from a GPS Device. Infrared and Other Devices. Conclusion.

10. The Remote API (RAPI).

Initializing and Un-initializing RAPI. Handling Errors. A Simple RAPI Application-Creating a Process. Overview of RAPI Functions. File and Folder Manipulation. Property Database RAPI Functions. Registry RAPI Functions. System Information RAPI Functions. Miscellaneous RAPI Functions. Write Your Own RAPI Functions with CeRapiInvoke. A CeRapiInvoke Blocking Function. RAPI Stream Functions. Conclusion.

11. Telephone API (TAPI) and Remote Access Services (RAS).

Introduction to Telephone API (TAPI). Line Initialization and Shutdown. Enumerating TAPI Devices. Negotiating TAPI Version. Getting Line Device Capabilities. Making a Call with TAPI. Opening a Line. Translating a Telephone Number. Making the Call. Line Callback Function. Shutting Down a Call. Communicating Through an Open Call. Obtaining a Communications Port Handle. Sending and Receiving Data. Remote Access Services (RAS). Listing RAS Phone Book Entries. Making a RAS Connection. Monitoring a RAS Connection. Dropping a RAS Connection. Testing for an Existing RAS Connection. Conclusion.

12. Memory Management.

The Virtual Address Space. Allocating Memory for Data Storage. Obtaining System Processor and Memory Information. Obtaining the Current Memory Status. Application Memory Allocation. Global and Static Memory Allocation. Heap-Based Allocation. Stack-Based Allocation. Creating Your Own Heaps. Using Heaps with C++ Classes. Handling Low-Memory Situations. Responding to a WM_CLOSE Message. Responding to a WM_HIBERNATE Message. Conclusion.

13. System Information and Power Management.

Operating System Version Information. The SystemParametersInfo Function. Power Management. Power Management States. Changing from On to Idle State. Changing from Idle to Suspend State. Monitoring Battery Status. Powering Off a Device. Conclusion.

14. COM and ActiveX.

Introduction to the Component Object Model (COM). COM Components. COM Interfaces. The IUnknown Interface. Globally Unique identifiers (GUIDs). Programmatic identifiers (ProgIDs). COM Components and the Registry. The HRESULT Data Type and Handling Errors. Interface Definition Language and Type Library Information. POOM-The Pocket office Object Model. Using COM Components. Initializing and Uninitializing COM. Creating a COM Object. Calling COM Functions. The BSTR Data Type. Releasing COM Interfaces. Finding a Contact's Email Address. Calling QueryInterface. Adding a Contact. Using Smart Pointers. Creating a Recurring Appointment. ActiveX and Automation. _bstr_t and _variant_t Classes. Automation DispInterfaces. The IDispatch Interface. Obtaining an IDispatch Interface Pointer. Obtaining Dispatch identifiers. The VARIANT Data Type. Using an Automation Property. Calling Automation Methods. Using Automation Objects with MFC. Creating a COleDispatchDriver-Derived Class. Using the IPOutlookApp Class. Conclusion.

15. Microsoft Message Queue (MSMQ).

Overview of Microsoft Message Queue. Installation. Installing MSMQ on Windows CE. Installing MSMQ on Windows 2000. Managing DNS Entries. IP Network, RAS, and ActiveSync. Managing Queues on Windows 2000. Creating a Private Queue. Reading Messages from a Queue in Windows 2000. Sending Messages from Windows CE. Creating a New Queue. Reading Messages from a Queue. Reading Other Message Properties. Peeking Messages and Cursors. Callback Function and Asynchronous Message Reading. Message Timeouts, Acknowledgements, and Administration Queues. Message Transactions. Conclusion.

16. ADOCE and SQL Server for Windows CE.

Installing SQL Server for Windows CE. ADOCE and ADOXCE. Using Smart Pointers with ADOCE. Using _bstr_t and _variant_t Classes. Creating a Catalog (Database). Opening a Database (Catalog). Creating a Table. Enumerating Tables in a Catalog. Dropping a Table. Adding Records to a Table. Retrieving Records from a Table. Connection Object. Deleting Records. SQL Data Definition Language (DDL). Using CREATE TABLE. Using DROP TABLE. Using Identities and Primary Keys. Indexes. INSERT Statement. Error Handling. Transactions. Conclusion.

17. ActiveSync.

ActiveSync Items, Folders, and Store. Item. Folder. Store. Steps to Implement Device Synchronization. Steps to Implement Desktop Synchronization. Additional Steps for Continuous Synchronization. The Sample Application. Installation and Registration. Data Organization. Important Note. Implementing the Windows CE Device Provider. InitObjType Exported Function. ObjectNotify Exported Function. GetObjTypeInfo Exported Function. Implementing the Device IReplObjHandler COM Interface. Serialization Format. IReplObjHandler::Setup. IReplObjHandler::Reset. IReplObjHandler::GetPacket. IReplObjHandler::SetPacket. IReplObjHandler::DeleteObj. Implementing the Desktop Provider. Representing HREPLITEM and HREPLFLD. Storing Data on the Desktop. Implementing IReplStore. IReplStore Initialization. Store Information and Manipulation. Folder Information and Manipulation. Iterate Items in a Folder. Manipulating HREPLITEM and HREPLFLD Objects. HREPLITEM Synchronization. Implementing the Desktop IReplObjHandler COM Interface. IReplObjHandler:: Setup. IReplObjHandler:: Reset. IReplObjHandler::GetPacket. IReplObjHandler::SetPacket. IReplObjHandler::DeleteObj. Conclusion.

show more

About Nick Gratten

Nick Grattan is co-founder and Technical Director at Software Paths Limited ( Dublin, Ireland, based mobile solutions specialist. Marshall Brain is the author of numerous Prentice Hall PTR books, including Win32 API Programming.
show more

Rating details

2 ratings
2 out of 5 stars
5 0% (0)
4 0% (0)
3 50% (1)
2 0% (0)
1 50% (1)
Book ratings by Goodreads
Goodreads is the world's largest site for readers with over 50 million reviews. We're featuring millions of their reader ratings on our book pages to help you find your new favourite book. Close X