`
`to the Declaration of Ingrid Hsieh-Yee
`
`Samsung Exhibit 1051
`Samsung et al. v. Rosetta-Wireless
`IPR2016-00622
`Page 00102
`
`
`
`~WILEY
`
`. (
`
`I CA76. 76
`063
`~ 856
`
`1999
`
`-
`
`__.,
`
`Robert Burdick
`
`Page 00103
`
`
`
`ACGO
`'l Y ll'JG
`CD-ROM AT
`CIRC. DESK
`
`Page 00104
`
`
`
`(
`
`Essential
`Windows® CE
`Application
`•
`Programming
`
`This book is due on the date indicated
`below and is subject to an overdue
`fine as posted at the circulation desk.
`
`EXCEPTION: Date due will be
`earlier if this item is RECALLED.
`
`NOV CO o 1999
`
`rJAN ~-··o 2oo3
`
`• •. .1
`
`? ~.i~l
`e:;y
`~
`~co1
`
`"\""
`~
`
`J~Ji ·2 ? 2DD1
`
`I
`
`t
`
`NEW YORK • CHICHESTER • WEINI
`
`200M/09·9B- 961815
`
`Page 00105
`
`
`
`Publisher: Robert Ipsen
`
`Editor: Marjorie Spencer
`
`Assistant Editor: Margaret Hendrey
`
`Managing Editor: Brian Snapp
`
`Electronic Products, Associate Editor: Mike Sosa
`
`Text Design & Composition: NK Graphics
`
`Designations used by companies to distinguish their products are often claimed as trade(cid:173)
`marks. In all instances where John Wiley & Sons, Inc., is aware of a claim, the product narnes
`appear in initial capital or ALL CAPtTAL LE'11'ERS. Readers, however, should contact the appro(cid:173)
`priate companies for more complete infonnation regarding trademarks and registration.
`
`This book is printed on acid-free paper. @>
`
`Copyright © 1999 by Robert Burdick. All rights reserved.
`
`Published by John Wiley & Sons, Inc.
`
`Publio;hed simultaneously in Canada.
`
`No part of this publication may be reproduced, stored in a retrieval system or transmitted in
`any form or by any means, electronic, mechanical, photocopying, recording, scanning or
`otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright
`Act, without either the prior written permission of the Publisher, or authorization through
`payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood
`Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 7504744. Requests to the Publisher for
`permission should be addressed to the Permissions Depru.tment, John Wiley & Sons, Inc., 605
`Third Avenue, New York, NY 10158-0012, (212) 850-6011, fax (212) 850-6008, E-Mail:
`PEHMREQ@ WILEY. COM.
`
`This publication is designed to provide accurate and authoritative infonnation in regard to
`the subject matter covered. It is sold with the understanding that the publisher is not
`engaged in professional services. If professional advice or other expert assistance is
`required, the services of a competent professional person should be sought.
`
`Library of Congress Cataloging-in-Publication Data:
`
`Burdick, Robert, 1965-
`Essential Windows CE application programming I Robert Burdick.
`p. em.
`ISBN 0-471-32747-6 (pbk. : alk. paper)
`1. Microsoft Wmdows (computer file) 2. Operating systems
`(Computers)
`I. Title.
`QA76.76.063B856
`1999
`005.4'469-dc21
`
`98-50484
`CIP
`
`Printed in the United States of America.
`
`10 9 8 7 6 5 4 3 2 1
`
`Page 00106
`
`
`
`To my wife Koty, for urging me ever onward.
`
`Page 00107
`
`
`
`I
`
`Page 00108
`
`
`
`Acknowledgments
`lntrodudion
`
`Part I
`
`Windows CE Application Programming
`Fundamentals
`
`Chapter 1 Getting Started with Windows CE
`What Is Windows CE?
`Windows CE Programming Tools
`Before We Move On .. .
`Now Let's Get to Work
`
`Chapter 2 A Windows CE Application Template
`What Is a Window, Anyway?
`Creating Windows
`The Wmdows CE Application Entry Point
`The Message Loop
`The Template Application
`Concluding Remarks
`
`Chapter l
`
`Controls and Dialog Boxes
`Programming Child Controls
`Prugra.uuning Conunun Controls
`Dialog Boxes
`The Wmdows CE Common Dialogs
`Common Dialog Programming
`Concluding Remarks
`
`Chapter 4 Menus and the Windows CE Command Bar
`I Repeat Myself When tmder Stress
`The Command Bar Control
`Windows CE Menu Basics
`
`)
`
`xi
`xiii
`
`1
`
`3
`3
`7
`13
`17
`
`19
`20
`27
`31
`34
`37
`40
`
`41
`41
`45
`48
`59
`61
`68
`
`69
`70
`71
`74
`
`~
`
`Page 00109
`
`
`
`Creating a Conunand Bar
`Inserting a Menu into a Command Bar
`Adding Controls to a Command Bar
`Adding Tool Tips to Command Bar Buttons
`Other Command Bar Functions
`Using Accelerators in Wmdows CE Applications
`Using the Window Menu
`The Complete Windows CE Menu API
`The Complete CMDBAR Sample Application
`Concluding Remarks
`
`Chapter 5 Windows C£ Common Controls
`The Month Calendar Control
`The Date Time Picker Control
`Rebar Controls
`Command Bands
`Concluding Remarks
`
`Part II
`
`Windows CE Persistent Storage
`
`Object Identifiers
`The CeOidGetlnfo Function
`Viewing the Windows CE Object Store
`
`Chapter 6 Working with the Windows CE File System
`The file System Explorer Application
`File Handles
`File Attributes
`Searching for Files
`Creating and Opening Files and Directories
`Reading and Writing File Data
`Copying and Renaming Files and Directories
`Deleting Files and Directories
`Flash Cards and Persistent Storage
`Concluding Remarks
`
`Chapter 7 Windows CE Databases
`The Phone List Application
`Programming Windows CE Databases
`
`77
`78
`79
`86
`87
`88
`91
`93
`103
`103
`
`105
`107
`123
`134
`140
`143
`
`145
`
`146
`146
`149
`
`153
`154
`159
`160
`162
`165
`171
`178
`180
`180
`183
`
`185
`186
`191
`
`Page 00110
`
`
`
`Internal Representation of Record Properties
`Creating the Database
`Sorting and the SORTORDERSPEC
`Opening and Closing the Database
`Writing and Reading Database Records
`Searching for Records
`Database Enwneration
`Database Notifications
`The Contacts Database
`Concluding Remarks
`
`Chapter 8 Using The Windows CE Registry
`Registry Basics
`Creating And Opening Registry Keys
`Reading and Writing Registly Values
`Enumerating Registry Keys and Values
`Deleting Registry Keys and Values
`The Registry Sample Application
`Concluding Remarks
`
`Part Ill
`
`Windows CE User Interface Programming
`
`What We Will Learn
`
`Chapter 9 Owner Draw Controls and Custom Window Classes
`Why Focus on Owner Draw Buttons?
`The Example Application
`The Anatomy of a Windows CE Control
`How Owner Draw Buttons Are Different
`The Kiosk Application
`Concluding Remarks
`
`Chapter 1 0 The Windows CE Custom Draw Service
`Custom Draw Notification
`Responding to Custom Draw Notifications
`Other NMCUSTOMDRAW Info Snuctures
`A Real Example
`Concluding Remarks
`
`vii
`
`195
`197
`198
`201
`203
`208
`211
`213
`213
`218
`
`221
`222
`229
`231
`236
`239
`240
`241
`
`243
`
`245
`
`247
`247
`249
`250
`251
`258
`273
`
`275
`277
`281
`284
`285
`288
`
`Page 00111
`
`
`
`viii ;
`
`Chapter 11 Designing Windows CE Custom Controls
`The Example Custom Control
`Packaging a Custom Control as a Dynamic Link Library
`Initializing the DLL in the Client Application
`Implementing the Custom Button Control
`The Complete Sample Application
`Concluding Remarks
`
`Chapter 12 The HTML Viewer Control
`Overview of the HTML Viewer Control
`The Sample Application
`Preparing to Use the HTML Viewer Control
`Creating HTML Viewer Controls
`Displaying HTML Formatted Text
`Handling Hyper links
`Displaying lnline Images
`HTML Viewer Control Messages and Notifications
`
`Chapter 13 Palm-size PC Input Techniques
`The Rich Ink Control
`Progranuning the Rich Ink Control
`Programming the Palm-size PC Navigation Buttons
`Adding Voice Input to Palm-size PC Applications
`A Real Example
`Concluding Remarks
`
`Part IV
`
`Desktop Connectivity and Memory Issues
`
`Chapter 14 Windows CE Data Synchronization
`The Sample Code
`ActiveSync Tecluwlogy Overview
`The Synchronization Process from the 50,000 Foot Level
`Registering ActiveSync Service Providers
`Desktop Service Provider Data Model
`Initializing a Desktop Service Provider
`Reconstructing Folders and Items
`Enumerating Objects
`
`289
`290
`291
`298
`300
`310
`311
`
`313
`314
`317
`318
`318
`319
`321
`325
`327
`
`329
`330
`332
`341
`348
`352
`354
`
`357
`
`359
`360
`361
`366
`369
`374
`376
`377
`380
`
`Page 00112
`
`
`
`Reporting Desktop Data Store Changes
`'fransfening the Data
`Notifying the Service Manager
`Programming Device Service Providers
`Conflict Resolution
`Concluding Remarks
`
`Chapter 15 Other Desktop Connedivity Topics
`The Remote API
`A RAPI Sample Application
`Using Remote API Functions
`Windows CE File Filters
`The Sample File Filters
`Registering File Filters
`Concluding Remarks
`
`Chapter 16 Memory and Power Management
`The Sample Application
`Windows CE Memory Basics
`Allocating Memory
`Windows CE Memory Mapped Files
`Handling Low Memory Conditions
`The GetSystemPowerStatusEx Function
`Concluding Remarks
`
`What's on the CD-ROM?
`Index
`
`lx
`
`386
`388
`392
`394
`399
`402
`
`403
`404
`405
`405
`409
`411
`417
`419
`
`421
`422
`422
`426
`433
`442
`443
`445
`
`447
`451
`
`Page 00113
`
`
`
`-
`
`1
`1..
`Wu: In H
`(
`I) ICUW
`
`
`
`
`
`h_w$.:.__~_¢<_=._oE%Q>_._.=8=e=:.£3.._.5
`
`Bl7RIm_‘lx'
`
`@
`
`W ILEY
`
`Page 00114
`
`
`
`Programming
`
`$49.99 USA/$77.50 CAN
`
`The indispensable guide to writing clean CE applications, including
`real-world tips, techniques, and workarounds
`Essential Windows® CE Application Programnlinl
`
`ROBERT BURDICK has been
`working in the computer industry
`for ten years and has worked with
`Windows CE for the past two years.
`His experiences include codevelop(cid:173)
`ing the user- interface components
`of the Windows CE operating system
`and writing software for Philips
`Mobile Computing Group and Vadem
`Corporation.
`
`Microsoft's Windows CE operating
`system is quickly finding its way into
`a wide variety of information appli·
`ances like Handheld and Palm·size
`PCs, television set top boxes, smart
`telephones, and eledronic books.
`Robert Burdick gives you a thorough
`tutorial for programming the essen(cid:173)
`tial features of Wiridows CE. Using a
`complete sample application, each
`chapter provides comprehensive cov(cid:173)
`erage of the programming techniques
`required to take advantage of a
`specific Windows CE feature. As
`Windows CE continues to evolve into
`the industry standard for information
`appliances and mobile computing
`platforms, Essentitll Windows CE
`Applictltion Progrtlmming will prove
`to be your most valuable program(cid:173)
`ming resource. Inside you will find:
`
`• A look behind the curtain at the
`architecture of the Wmdows CE
`operating system
`
`• Programming building blocks like
`Windows CE controls and dialog
`boxes
`
`• In-depth insight into the desktop con(cid:173)
`nectivity featw·es of Windows CE
`
`• Complete coverage of Windows CE
`persistent storage progranuning
`
`• Custom user- intelface progrrumning
`
`• Lessons for programming Windows
`CE at the API level
`
`• Extensive samples of Windows CE
`application code
`
`On the CD·ROM you11 find:
`• Source code for all sample programs
`in the book
`
`Visit our Web sit e at www.wiley.comjcompbooks/
`
`Series Design: Howard Crossman
`John Wiley & Sons, Inc.
`Professional/Trade Division
`605 Third Avenue, New York, N.Y. 10158-0012
`New York • Chichester • Weinheim
`Brisbane • Singapore • Toronto
`
`IS BN 0-47 1 - 3 27 47 - b
`54
`9
`
`9
`
`04 1 274
`
`Page 00115