`
`to the Declaration of Ingrid Hsieh-Yee
`
`Samsung Exhibit 1047
`Samsung et al. v. Rosetta-Wireless
`IPR2016-00622
`Page 00072
`
`
`
`Page 00073
`
`Page 00073
`
`
`
`I
`
`amnwmcx
`
`ESSENTIAL
`
`L
`
`wmnows ca”
`
`APPLICATION
`
`pnoennmmms f
`
`Page00074
`
`Page 00074
`
`
`
`Page 00075
`
`
`
`Page 00076
`
`
`
`Page 00077
`
`
`
`®
`
`..
`IOD
`..
`I
`
`II c
`ra
`
`~ WILEY
`
`Robert Burdick
`
`Page 00078
`
`
`
`Page 00079
`
`
`
`Essential
`Windows® CE
`Application
`Programming
`
`Robert Burdick
`
`Wiley Computer Publlslllnr
`
`John Wiley & Sons, Inc..
`NEW YORK • CHICHESTER • WEINHEIM • BRISBANE • SINGAPORE • TORONTO--~
`
`~
`
`Page 00080
`
`
`
`~·~~
`MAR 22 1qqq
`)
`
`(
`
`Publisher: Robert Ipsen
`
`Editor: Marjorie Spencer
`
`r.1r
`.-/
`QA1fp
`. 7 (p
`,.(),3 B~sG,
`I~ (11
`Text Design & Composition: NK Graphics
`M l\ e.~
`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 names
`appear in initial capital or ALL CAPITAL LETTERS. Readers, however, should contact the appro(cid:173)
`priate companies for more complete information regarding trademarks and registration.
`
`Assistant Editor: Margaret Hendrey
`
`Managing Editor: Brian Snapp
`
`Electronic Products, Associate Editor: Mike Sosa
`
`This book is printed on acid-free paper. @l
`
`Copyright © 1999 by Robert Burdick. All rights reserved.
`
`Published by John Wiley & Sons, Inc.
`
`Published simultaneously in Canada.
`
`No part of this publication may be reproduced, stored in a retrieval system or transmitted in
`any fonn 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 pennission 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) 750-4744. Requests to the Publisher for
`permission should be addressed to the Pennissions Department, John WJ.ley & Sons, Inc., 605
`Third Avenue, New York, NY 10158-0012, (212) 850-6011, fax (212) 850-6008, E-Mail:
`PERMREQ@ WILEY. COM.
`
`This publication is designed to provide accurate and authoritative information 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, Ule service~ of a competent profe~Ssional penson should be ~SougltL.
`
`Library of Congress Cataloging-in-Publication Data:
`
`Burdick, Robert, 1965-
`Essential Windows CE application programming I Robert Burdick.
`p. em.
`ISBN 0471-32747-6 (pbk. : alk. paper)
`1. Microsoft Windows (computer file)
`I. Title.
`(Computers)
`QA76.76.063B856
`1999
`005.4' 469-<ic21
`
`2. Operating systems
`
`fg->t·l &(
`98 50484
`CIP
`
`Printed in the United States of America.
`
`10 9 8 7 6 5 4 3 2 1
`
`Page 00081
`
`
`
`To my wife Katy, for urging me ever onward.
`
`Page 00082
`
`
`
`Page 00083
`
`
`
`Acknowledgments
`lntrodudion
`
`Part I
`
`Windows CE Application Programming
`Fundamentals
`
`Chapter 1 Getting Started with Windows CE
`What Is Windows CE?
`Wmdows CE Programming Tools
`Before We Move On ...
`Now Let's Get to Work
`
`Chapter2 A Windows CE Application Template
`What Is a Window, Anyway?
`Creating Wmdows
`The Windows CE Application Entry Point
`The Message Loop
`The Template Application
`Concluding Remarks
`
`Chapter 3 Controls and Dialog Boxes
`Programming Child Controls
`Programming Conunon Controls
`Dialog Boxes
`The Windows CE Common Dialogs
`Common Dialog Programming
`Concluding Remarks
`
`Chapter 4 Menus and the Windows CE Command Bar
`I Repeat Myself When under Stress
`The Command Bar Control
`Wmdows 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 00084
`
`
`
`Creating a Command Bar
`Inserting a Menu into a Command Bar
`Adding Controls to a Conrmand 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 CE 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 00085
`
`
`
`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 Enumeration
`Database Notifications
`The Contacts Database
`Concluding Remarks
`
`Chapter 8 Using The Windows CE Registry
`Registry Basics
`Creating And Opening Registry Keys
`Reading and Writing Registry 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 10 The Windows CE Custom Draw Service
`Custom Draw Notification
`Responding to Custom Draw Notifications
`Other NMCUSTOMDRAW Info Structures
`A Real Example
`Concluding Remarks
`
`[ vii I
`
`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 00086
`
`
`
`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 Hyperlinks
`Displaying Inline Images
`HTML Viewer Control Messages and Notifications
`
`Chapter 13 Palm-size PC Input Techniques
`The Rich Ink Control
`Programming 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 Connedivity and Memory Issues
`
`Chapter 14 Windows CE Data Synchronization
`The Sample Code
`ActiveSync Technology 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 00087
`
`
`
`Reporting Desktop Data Store Changes
`Transferring the Data
`Notifying the Sezvice Manager
`Progranuning Device Service Providers
`Conflict Resolution
`Concluding Remarks
`
`Chapter 15 Other Desktop Connectivity Topics
`The Remote API
`A RAPI Sample Application
`Using Remote API Functions
`Wmdows 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 CDMROM?
`Index
`
`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 00088
`
`
`
`Proar~mmhlf
`
`Mt.tt USAJ$-., ...
`The indispensable guide to writing clean CE applications, includi
`ng
`real-world tips, techniques, and workarounds
`Essential Wmdows CE Application Progra
`
`Microsoft's Wlzl4ows CE opesatiaJ
`Is quickly fbulla1 its toy i:Bto
`syst
`ide variety of blfonDat.inl:a appU·
`1
`ces ke Hucfhtld ad Pa!m-sile
`PCs. Ctlnislon set top boxes. sawt
`ttlephonts, and eledr
`·, boob.
`RobertlurdJd&livts you alhorou1b
`tutorial for proaramralng tbe essen·
`U1l features of Windows CE. Usia11
`complete sample application, each
`chapter provides comprehmsive cov·
`era1e of the pro~f~mmiJII tedmiques
`requlrtd to take 1dvmtaae of a
`specific WlDdows CE future. As
`WiJUSows CE co
`es to nntve lato
`the l
`5-try staaard for illformAtfoa
`computiiiJ
`ptl ' Cts d
`p&atfonas, Es.utltJGI Wardcrm CE
`Appllutlon hvf
`· g wiD prove
`to be your ost valuable prop"Dl-
`DI ruoarce. laside you 1lriD fiD4;
`
`• A look behlnd the curtuln utl.he
`nrcluU"Cturc of the Wlndow~ CE
`Ofl('rn.Ung system
`
`• Programnung building blocks like
`Window CE c-ontrols nnd dialog
`boxes
`
`• In dl.'pth ll\ . .,lghtlnto th d sktop con(cid:173)
`O<'('tJvity reatures of Windows CE
`• Comph'lt' t:owmg<' or Windows CE
`pC'rHISI<'III, Atorngc progmmmlng
`
`• CuRtom user lnlorf1\CC progrnmmlng
`
`• Lessons for pmgnunmlnl( Windows
`C'E nl l.ht> API level
`
`• F:xtc>ns•ve !>ample of WintJows CE
`npplkauon code
`
`0. tH CD· ROM yoa11 fiDd:
`• Source coclc for all sample programs
`tn th hook
`
`Visit our Web site at. www.wiley.com/compbook!/
`
`Se'* Olr..:lr ,.,_._ c-(cid:173)
`John Wiley & Sons, Inc.
`ProresSionaVT~de Division
`60S Thrrd Avenue. New Yorfc. N.Y. 10158-00tl
`New York • Chichester • Weinheim
`Bns~e • Singapore • Toronto
`
`ISBN 0-47 1.- 32?47
`
`9 78 471 Jl1
`
`Page 00089
`
`
`
`Page 00090
`
`
`
`Page 00091
`
`
`
`Page 00092
`
`Page 00092
`
`
`
`Page 00093
`
`Page 00093