CE API Programming Guide E-SW-WINAPIPG-S 2010 Copyright© by LXE®, Inc, An EMS Technologies Company. All Rights Reserved. Notices LXE’s CE API Programming Guide contains software developed by LXE for use on LXE certified equipment. Any reference, whether direct or implied, to any LXE wireless or RF equipment requires the reader to refer to the specific equipment’s User Manuals for cautions, warnings and federal notices (e.g. FCC, EMC, UL, CE, etc.). Copyright Notice: This manual is copyrighted. All rights are reserved. This document may not, in whole or in part, be copied, photocopied, reproduced, translated or reduced to any electronic medium or machine-readable form without prior consent, in writing, from LXE Inc. Copyright © 2008 by LXE Inc. An EMS Technologies Company. 125 Technology Parkway, Norcross, GA 30092 U.S.A. (770) 447-4224 Trademarks LXE is a registered trademark of LXE Inc. Microsoft and Windows are registered trademarks of Microsoft Corporation in the United States and/or other countries. The Bluetooth® word mark and logos are owned by the Bluetooth SIG, Inc. and any use of such marks by LXE, Inc. is under license. All other brand or product names are trademarks or registered trademarks of their respective companies or organizations. When manual is in PDF format: “Acrobat ® Reader Copyright © 2008 Adobe Systems Incorporated. All rights reserved. Adobe, the Adobe logo, Acrobat, and the Acrobat logo are trademarks of Adobe Systems Incorporated.” applies. Notice: LXE Inc. reserves the right to make improvements or changes in the software products described in this manual at any time without notice. While reasonable efforts have been made in the preparation of this document to assure its accuracy, LXE assumes no liability resulting from any errors or omissions in this document, or from the use of the information contained herein. Further, LXE Incorporated, reserves the right to revise this publication and to make changes to it from time to time without any obligation to notify any person or organization of such revision or changes. Table of Contents Introduction 1 Application Programming Interface (API) 1 Identify your Windows CE Equipment 1 Windows Mobile Equipped Computers 2 CE 5.x Equipped Computers 2 CE 4.x Equipped Computers 5 A Note About Obsolete Equipment 6 CE 4.x Equipped Computers 6 CE 3.x Equipped Computers 7 Battery API Calls 8 LXEBatteryIsCharging 9 LXEBatteryIsDischarging 11 LXEBatteryChargeBackup 13 LXEBatteryDischargeBackup 15 LXEBatteryIsACPower 17 LXEBatteryReadVoltage 19 LXEBatteryReadPercent 21 LXEBatteryReadmaHr 23 LXEBatteryLife 25 LXEBatteryAlarm 27 PCMCIA API Calls 29 LXEPcmciaHasCard 31 LXEPcmciaDisableSlot 33 LXEPcmciaEnableSlot 35 LXEPcmciaWriteProtect 37 Power Management API Calls 39 LXEPowerMgrEnable 40 LXEPowerMgrToNormal 42 LXEPowerMgrAlwaysOn 44 LXEPowerMgrDisplayNormal 46 LXEPowerMgrDisplayOn 48 LXEPowerMgrBacklightNormal 50 LXEPowerMgrBacklightOn 52 LXEPowerMgrLoopTime 54 LXEPowerMgrBacklightTimeout 56 LXEPowerMgrGetBacklightTimeout 58 LXEPowerMgrDisplayTimeout 60 E-SW-WINAPIPG-S [ i ] WINAPI CE API Programming Guide Table of Contents LXEPowerMgrGetDisplayTimeout 62 LXEPowerMgrSuspendTimeout 64 LXEPowerMgrGetSuspendTimeout 66 LXEPowerMgrPrimaryEvents 68 LXEPowerMgrBacklightPrimaryEvents 70 LXEPowerMgrDisplayPrimaryEvents 72 LXEPowerMgrSuspendPrimaryEvents 74 LXEForcePowerKeyPrimaryEvent 76 LXEForceKeyPrimaryEvent 78 LXEForceTouchPrimaryEvent 80 LXEForceScanPrimaryEvent 82 LXEForceUserPrimaryEvent 84 LXEForcePCMCIAPrimaryEvent 86 LXEForceCOM1PrimaryEvent 88 LXEForceCOM2PrimaryEvent 90 LXEForceCOM3PrimaryEvent 92 LXEForceUSBPrimaryEvent 94 LXEForceDockedPrimaryEvent 96 LXEForceSystemPrimaryEvent 98 LXESetCOMSystemActivity 100 LXEIsCOMSystemActivity 102 Scanner API Calls 104 LXEHasIntScanner 106 LXEHasIntRFID 108 LXEScannerEnable 110 LXEScannerDisable 112 LXEScannerInputEnable 114 LXEScannerInputDisable 116 LXEScannerReset 118 LXEScannerStart 120 LXEScannerStop 122 LXEScannerForceScan 124 LXEScannerGetStatus 126 LXEScannerGetData 128 LXEScannerPutData 130 LXEScannerKeysOff 132 LXEScannerKeysOn 134 LXEScannerKeyStatus 136 LXEScannerPowerOff 138 E-SW-WINAPIPG-S [ ii ] WINAPI CE API Programming Guide Table of Contents LXEScannerPowerOn 140 LXEScannerForcePower 142 LXEScannerAttachPort 144 LXEScannerSetKey 146 LXEScannerSetSerial 148 LXEScannerSetPower 150 LXEScannerSetWindow 152 LXEScannerCtrlCodeOff 155 LXEScannerCtrlCodeOn 157 LXEScannerSymStripLead 159 LXEScannerStripLead 161 LXEScannerSymStripTrail 163 LXEScannerStripTrail 165 LXEScannerSymPrefix 167 LXEScannerPrefix 169 LXEScannerSymSuffix 172 LXEScannerSuffix 174 LXEScannerSymEnable 176 LXEScannerOption 178 LXEScannerHasOption 180 LXEScannerSymIsEnabled 182 LXEScannerIsOptionEnabled 184 LXEScannerGetParam 186 LXEScannerSetParam 188 LXEScannerSymGetConfig 190 LXEScannerSymSetConfig 192 LXEScannerSymRemove 194 Version Control API Calls 196 LXEVersionOS 197 LXEVersionOAL 199 LXEVersionBoot 201 LXEVersionFPGA 203 LXEVersionAPI 205 LXEVersionSerial 207 LXEInfoCopyright 209 LXEInfoGetCodecInfo 211 LXEInfoGetCPUInfo 213 LXEInfoROMID 215 LXEInfoRAMID 217 E-SW-WINAPIPG-S [ iii ] WINAPI CE API Programming Guide Table of Contents LXEInfoGetROMInfo 219 LXEInfoGetRAMInfo 221 LXEInfoGetUUID 223 Display API Calls 225 LXEHasColorLCD 226 LXEShowTaskbar 228 LXEGetContrast 230 LXESetContrast 232 LXEGetBrightness 234 LXESetBrightness 236 LXESetBacklightOn 238 LXEGetBacklightOn 240 LXEIsBacklightOn 242 LXESetDisplayOn 244 LXEGetDisplayOn 246 LXEIsDisplayOn 248 LXESetVibration 250 LXESetTouch 252 LXESetHX3AlphaMode 254 LXESetHX3AlphaLED 256 Audio API Calls 258 LXEAudioGetGain 259 LXEAudioSetGain 261 LXEAudioLoadGain 263 LXEAudioSaveGain 265 LXEAudioGetBoost 267 LXEAudioSetBoost 269 LXEAudioLoadBoost 271 LXEAudioSaveBoost 273 LXEAudioGetVolume 275 LXEAudioSetVolume 277 LXEAudioLoadVolume 279 LXEAudioSaveVolume 281 LXEAudioGetMasterVolume 283 LXEAudioSetMasterVolume 285 LXEAudioLoadMasterVolume 287 LXEAudioSaveMasterVolume 289 LXEAudioGetSpeakerVolume 291 LXEAudioSetSpeakerSpeakerVolume 293 E-SW-WINAPIPG-S [ iv ] WINAPI CE API Programming Guide Table of Contents LXEAudioLoadSpeakerVolume 295 LXEAudioSaveSpeakerVolume 297 LXEAudioGetSpeakerVolume 299 LXEAudioSetHeadsetVolume 301 LXEAudioLoadHeadsetVolume 303 LXEAudioSaveHeadsetVolume 305 LXEAudioGetRecordIn 307 LXEAudioSetRecordIn 309 LXEAudioLoadRecordIn 311 LXEAudioSaveRecordIn 313 LXEAudioGetSidetone 315 LXEAudioSetSidetone 317 LXEAudioLoadSidetone 319 LXEAudioSaveSidetone 321 LXEAudioGetHeadSet 323 LXEAudioSetHeadSet 325 LXEAudioLoadHeadSet 327 LXEAudioSaveHeadSet 329 Keyboard API Calls 331 LXEKeyboardSetLayout 332 LXEKeyboardGetLayout 334 LXEKbdTypeGet 336 Miscellaneous API Calls 338 LXEBoot 339 LXEBootCold 341 LXEBootClear 343 LXEIsTurboOn 345 LXETurboOn 347 LXETurboOff 349 LXEWarmBoot 351 LXERestart 353 LXEShutDown 355 LXELoadUserReg 357 LXESaveUserReg 359 LXELoadFactoryDefaults 361 LXEHasInternalDrive 363 Peripheral Control API Calls 365 LXEPowerCOM1 366 LXEPowerCOM1RI 368 E-SW-WINAPIPG-S [ v ] WINAPI CE API Programming Guide Table of Contents LXEPreserveStateCOM1 370 LXEPowerCOM2 372 LXEPowerCOM3 374 LXEPowerCOM3RI 376 LXEIsPowerCOM3 378 LXEPreserveStateCOM3 380 LXEPowerCOM4 382 LXESuspendPowerCOM4 384 LXEResetCOM4 386 LXEPowerCOM4RI 388 LXEPowerCOM5 390 LXEPowerCOM5RI 392 LXEResetCOM5 394 LXEPowerGPS 396 LXEIsPowerGPS 398 LXEResetGPS 400 LXEPowerImager 402 LXEResetImager 404 LXEPowerCFslot 406 LXEPowerSDslot1 408 LXEPowerSDslot2 410 LXEPowerVib 412 LXEPowerUSBHost 414 LXEPowerHeater 416 LXEResetRaptor 418 LXEPowerFlashlight 420 Bluetooth API Calls 422 LXEBTTurnBTOn 423 LXEBTTurnBTOff 424 LXEBTMakeDiscoverable 425 LXEBTMakeNotDiscoverable 426 LXEBTStartDiscovery 427 LXEBTGetDiscoveredDevices 428 LXEBTGetPairedDevices 430 LXEBTGetActiveDevices 432 LXEBTConnectDevice 434 LXEBTDisconnectDevice 436 LXEBTAllowScannerData 437 LXEBTSetLinkSupervisionTimeout 438 E-SW-WINAPIPG-S [ vi ] WINAPI CE API Programming Guide Table of Contents LXEBTSetReconnectTimer 439 LXEBTDeleteDevice 440 LXEBTGetLinkSupervisionTimeout 441 LXEBTGetReconnectTimer 442 LXEBTGetBTAddress 443 RFID API Calls 444 Status Field Codes 445 Output to Keyboard Buffer 446 LXERFIDSystemNoChg 447 LXERFIDTag0Kill 448 LXERFIDTag0Get 449 LXERFIDTag0Set 450 LXERFIDTag0Read 451 LXERFIDTag1Kill 452 LXERFIDTag1Get 453 LXERFIDTag1Set 454 LXERFIDTag1Read 455 LXERFIDTag1ProgramID 456 LXERFIDTag1VerifyID 457 LXERFIDTag1LockID 459 LXERFIDTag1EraseID 460 LXERFIDTag1Write 461 LXERFIDTag1ReadAll 462 LXERFIDC1G2KillID 463 LXERFIDC1G2Get 464 LXERFIDC1G2Set 465 LXERFIDC1G2Read 466 LXERFIDC1G2ProgramID 468 LXERFIDC1G2LockID 469 LXERFIDGetMasks 470 LXERFIDMaskDefine 472 LXERFIDMaskRead 474 LXERFIDGetPreamble 476 LXERFIDSetPreamble 477 LXERFIDGetPostamble 478 LXERFIDSetPostamble 479 LXERFIDGetSeparator 480 LXERFIDSetSeparator 481 LXERFIDReaderPowerTimeout 482 E-SW-WINAPIPG-S [ vii ] WINAPI CE API Programming Guide Table of Contents LXERFIDNotifyReadSuccess 484 LXERFIDNotifyReadOn 485 LXERFIDGetData 486 WAN API Calls 487 LXEWWANDoATCommand 488 LXEWWANRadioDisable 489 LXEWWANRadioEnable 490 LXEWWANGetFirmwareVersion 491 LXEWWANGetSoftwareVersion 492 LXEWWANGetRadioType 493 LXEWWANGetSignalStrength 494 LXEWWANGetSerialNumber 495 LXEWWANGetSIMRequiresPIN 496 LXEWWANSetSIMSecurity 497 LXEWWANSetSIMPIN 498 LXEWWANGetSIMStatus 499 LXEWWANSetPhoneNumber 500 LXEWWANSetUsername 501 LXEWWANSetPassword 502 LXEWWANSetAPN 503 LXEWWANConnect 504 LXEWWANDisconnect 505 LXEWWANGetConnectionStatus 506 LXEWWANGetNetwork 507 LXEWWANAllowRoaming 508 LXEWWANAutoconnect 509 LXEWWANAutoreconnect 510 LXEWWANUseDHCP 511 LXEWWANUseDynamicNameServers 512 LXEWWANSetStaticIP 513 LXEWWANSetPrimaryDNS 514 LXEWWANSetSecondaryDNS 515 Win32 API Calls 516 GetLastError 516 NLedDriverSetDevice 517 LXE definitions for LedNum 519 Reference Material 520 Primary Events for Power Management APIs MX9 520 520 E-SW-WINAPIPG-S [ viii ] WINAPI CE API Programming Guide Table of Contents CE 5.0 Devices except MX9 521 CE 4.2 Devices 522 CE 3.x Devices 523 Power Management States 524 Symbology Descriptors 525 Symbology Values 527 Hexadecimal and Hat Encoded Characters 529 Revision History 533 E-SW-WINAPIPG-S [ ix ] WINAPI CE API Programming Guide Introduction This document details only the LXE-specific API calls. It also shows which calls from the standard LXE API are and are not supported on each of the LXE computers. It is intended as an appendix to the standard Microsoft Windows Pocket PC or Windows CE API documentation. l Battery APIs l PCMCIA APIs l Power Management APIs l Scanner/DC Wedge APIs l Version Control APIs l Display APIs l Audio APIs l Keyboard APIs l Miscellaneous APIs l Peripheral Control APIs l Bluetooth APIs l RFID APIs l WAN APIs l Win32 APIs Application Programming Interface (API) Also known as Application Programmer’s Interface, an API is a specification of the methods an application programmer can use to access services provided by a software module. APIs are implemented by writing function calls in the program, which provide the linkage to the required subroutine for execution. Thus, an API implies that some program module is available in the computer to perform the operation or that it must be linked into the existing program to perform the tasks. The LXE® CE Application Programmer’s Interface (API) is designed to enable application programmers to access the functionality of Microsoft® Windows CE® equipped LXE computer hardware without requiring them to understand the details of the hardware design. This programming guide describes, in a general way, the functions that comprise the API. This guide is for the application programmer working with LXE Microsoft® Windows CE® based computers / devices only. Note: The LXE® DOS API Programming Guide (E-SW-DOSAPIPG) is directed toward the programmer working with LXE devices with Datalight® ROM-DOS® or Microsoft® MS-DOS® Operating Systems. Identify your Windows CE Equipment This document details the LXE specific API calls for LXE’s family of computers running various versions of the Microsoft® Windows® CE operating system. The supported computers and operating systems are displayed in the chart below. Note: Although some products appear physically similar, there are significant differences in the API specifications for each computer type and available operating system. Please use the chart below for help in identifying your equipment. For more information, please refer to the reference guide for the appropriate LXE computer. Although the computers may appear physically similar, this manual DOES NOT cover devices with operating systems other than Microsoft Windows CE. Examples of equipment not covered include the MX3 with DOS and VX4 with DOS or Microsoft Windows 98, 2000 or XP. Note: Please refer to Appendix C, “Additional Information” for assistance in identifying obsolete LXE computers. E-SW-WINAPIPG-S [ 1 ] WINAPI CE API Programming Guide Windows Mobile Equipped Computers Windows Mobile Equipped Computers Computers in this section are quipped with Microsoft Windows Mobile. Many of these computers are also available with a Microsoft Windows CE operating system. API support may vary by operating system version. MX8WM l Microsoft Windows Mobile 6.1 l Intel® XScale® processor 520MHz l Color display, 240 x 320 pixels CE 5.x Equipped Computers Computers in this section are quipped with Microsoft Windows CE 5.0. Many of these computers are also available with Microsoft Windows CE 4.x (please see the following section). API support may vary by operating system version. HX2 l Microsoft Windows CE .5.0 l Intel® XScale® processor 400MHz l Color display, 320 x 240 pixels l Several keypad configurations available HX3 l Microsoft Windows CE .5.0 l Intel® XScale® processor 400MHz l No display MX9 l Microsoft Windows CE .5.0 l Intel® XScale® processor 806MHz l Color display, 240 x 320 pixels MX9CS l Microsoft Windows CE .5.0 l Intel® XScale® processor 806MHz l Color display, 240 x 320 pixels l Designed for use in cold environments l Identified by “snowflake” logo above keypad E-SW-WINAPIPG-S [ 2 ] WINAPI CE API Programming Guide CE 5.x Equipped Computers MX9HL l Microsoft Windows CE .5.0 l Intel® XScale® processor 806MHz l Color display, 240 x 320 pixels l For use in hazardous locations: Class 1, Division 2, Groups A, B, C and D l Identified by “HAZ LOC" triangular logo above keypad Caution The user is strongly cautioned to review the MX9 User Guide for warning and cautions on using the MX9HL in a hazardous environment. MX8 l Microsoft Windows CE .5.0 l Intel® XScale® processor 520MHz l Color display, 240 x 320 pixels MX7 l Microsoft Windows CE .5.0 l Intel® XScale® processor 400MHz l Color display, 240 x 320 pixels MX7CS l Microsoft Windows CE .5.0 l Intel® XScale® processor 400MHz l Color display, 240 x 320 pixels l Designed for use in cold environments l Identified by “snowflake” logo above keypad MX3Plus l Microsoft Windows CE 5.0 l Intel® XScale® processor l Color display, 640 x 240 pixels l Identified by “MX3Plus” label below keypad MX3X l Microsoft Windows CE 5.0 l Intel® XScale® processor l Color or monochrome display, 640 x 240 pixels l Identified by “MX3X” label above keypad E-SW-WINAPIPG-S [ 3 ] WINAPI CE API Programming Guide CE 5.x Equipped Computers MX5X l Microsoft Windows CE 5.0 l Intel® XScale® processor l Color display, 240 x 320 pixels l Identified by “CE .NET” label below keypad MX5-IS l Microsoft Windows CE .5.0 l Intel® XScale® processor l Color display, 240 x 320 pixels l For use in hazardous locations l Identified by “I-SAFE” label and blue keypad overlay Caution The user is strongly cautioned to review the MX5 Intrinsically Safe User’s Guide for warning and cautions on using the MX5-IS in a hazardous environment. VX3Plus l Microsoft Windows CE 50. l Intel® XScale® processor l Color display, 640 x 240 pixels l Identified by “VX3Plus” label below keypad VX3X l Microsoft Windows CE 50. l Intel® XScale® processor l Color display, 640 x 240 pixels l Identified by “VX3X” label above keypad VX6 l Microsoft Windows CE 5.0 l Intel® XScale® processor l Half screen color display, 800 x 320 pixels VX7 l Microsoft Windows CE 5.0 l Intel® XScale® processor l Full screen color display, 800 x 600 pixels E-SW-WINAPIPG-S [ 4 ] WINAPI CE API Programming Guide CE 4.x Equipped Computers CE 4.x Equipped Computers Computers in this section are quipped with Microsoft Windows CE 4.x. Many of these computers are also available with Microsoft Windows CE 5.x (please see the preceding section). API support may vary by operating system version. MX3X l Microsoft Windows CE .NET 4.2 l Intel® XScale® processor l Color or monochrome display, 640 x 240 pixels VX3X l Microsoft Windows CE .NET 4.2 l Intel® XScale® processor l Color display, 640 x 240 pixels VX6 l Microsoft Windows CE .NET 4.2 l Intel® XScale® processor l Half screen color display, 800 x 320 pixels VX7 l Microsoft Windows CE .NET 4.2 l Intel® XScale® processor l Full screen color display, 800 x 600 pixels E-SW-WINAPIPG-S [ 5 ] WINAPI CE API Programming Guide A Note About Obsolete Equipment A Note About Obsolete Equipment Some of the equipment discussed in this manual is obsolete. API support for obsolete equipment is provided as an aid for developers using older equipment. CE 4.x Equipped Computers MX3-RFID l Microsoft Windows CE .NET 4.2 l Intel® XScale® processor l Color display, 640 x 240 pixels l Internal RFID module The MX3-RFID supports many of the APIs detailed in this document. In addition, the MX3-RFID supports several RFID specific APIs. An MX3-RFID may require an update to support Class 1 Gen 2 tags. Contact your LXE representative for details. Note: The MX3-RFID is obsolete. MX5X l Microsoft Windows CE .NET 4.2 l Intel® XScale® processor l Color display, 240 x 320 pixels l Identified by “CE .NET” label below keypad Note: The MX5X is obsolete. MX5-IS l Microsoft Windows CE .NET 4.2 l Intel® XScale® processor l Color display, 240 x 320 pixels l For use in hazardous locations l Identified by “I-SAFE” label and blue keypad overlay The MX5-IS supports the same APIs as the MX5X CE .NET. Caution The user is strongly cautioned to review the MX5 Intrinsically Safe User’s Guide for warning and cautions on using the MX5-IS in a hazardous environment. Note: The MX5-IS is obsolete. MX6 WinMobile l Microsoft Windows Mobile 2003 for Pocket PC l Intel® XScale® processor l Color display, 240 x 320 pixels Note: The MX6 WinMobile is obsolete. E-SW-WINAPIPG-S [ 6 ] WINAPI CE API Programming Guide CE 3.x Equipped Computers VX4 CE .NET l Microsoft Windows CE .NET 4.2 l Intel® Pentium® or Celeron® processor l Full screen color display, 800 x 600 pixels Note: The VX4 CE .NET is obsolete. RX2 l Microsoft Windows CE .NET 4.2 l Intel® XScale® processor l No display l Internal RFID module The RX2 supports many of the APIs detailed in this document, however many of these API calls have no effect on the RX2 due to the “headless” design (no keyboard, no display, etc.). In addition, the RX2 supports several RFID specific APIs. Note: The RX2 is obsolete. CE 3.x Equipped Computers MX3 CE 3.0 l Microsoft Windows CE 3.0 l Intel® StrongARMTM processor l Color or monochrome display, 640 x 240 pixels Note: The MX3-CE is obsolete. MX5 PPC l Microsoft Pocket PC® 2000/2002 l Intel® StrongARMTM processor l Color display, 320 x 240 pixels l Identified by “Pocket PC” label below keypad Note: The MX5 PPC is obsolete. MX6 PPC l Microsoft Pocket PC 2002/2003 l Intel® XScale® processor l Color display, 320 x 240 pixels Note: The MX6 PPC is obsolete. E-SW-WINAPIPG-S [ 7 ] WINAPI CE API Programming Guide Battery API Calls API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. E-SW-WINAPIPG-S [ 8 ] WINAPI CE API Programming Guide LXEBatteryIsCharging LXEBatteryIsCharging int LXEBatteryIsCharging(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns: TRUE if the backup battery is charging, or FALSE if the backup battery is not charging. For the MX7, HX2 and HX3 this API returns the error message ERROR_NOT_READY if the battery driver thread is not currently running. This can occur during cold and warm booting of the device as well as when recovering from suspend mode. If this error message is returned by this API the user must keep calling this API until the error message is no longer being returned, indicating that the correct return value can now be obtained. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No E-SW-WINAPIPG-S [ 9 ] WINAPI CE API Programming Guide LXEBatteryIsCharging CE 4.x Devices API Supported VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 10 ] WINAPI CE API Programming Guide LXEBatteryIsDischarging LXEBatteryIsDischarging int LXEBatteryIsDischarging(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns: TRUE if the backup battery is discharging, or FALSE if the backup battery is not discharging. For the MX7, HX2 and HX3 this API returns the error message ERROR_NOT_READY if the battery driver thread is not currently running. This can occur during cold and warm booting of the device as well as when recovering from suspend mode. If this error message is returned by this API the user must keep calling this API until the error message is no longer being returned, indicating that the correct return value can now be obtained. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No E-SW-WINAPIPG-S [ 11 ] WINAPI CE API Programming Guide LXEBatteryIsDischarging CE 4.x Devices API Supported VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 12 ] WINAPI CE API Programming Guide LXEBatteryChargeBackup LXEBatteryChargeBackup int LXEBatteryChargeBackup(void); This function generates a system event which causes the battery driver to start charging the backup battery. In normal operation, this API would not be used as the power management driver monitors the battery voltage and initiates a charge as necessary. For the MX7, HX2 and HX3 this API returns the error message ERROR_NOT_READY if the battery driver thread is not currently running. This can occur during cold and warm booting of the device as well as when recovering from suspend mode. If this error message is returned by this API the user must keep calling this API until the error message is no longer being returned, indicating that the correct return value can now be obtained. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 13 ] WINAPI CE API Programming Guide LXEBatteryChargeBackup CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 14 ] WINAPI CE API Programming Guide LXEBatteryDischargeBackup LXEBatteryDischargeBackup int LXEBatteryDischargeBackup(void); This function generates a system event which causes the battery driver to start discharging the backup battery. This is used to condition the NiCad battery. When the battery discharges to a sufficiently low value, the hardware detects this and automatically begins the recharge cycle. For the MX7, HX2 and HX3 this API returns the error message ERROR_NOT_READY if the battery driver thread is not currently running. This can occur during cold and warm booting of the device as well as when recovering from suspend mode. If this error message is returned by this API the user must keep calling this API until the error message is no longer being returned, indicating that the correct return value can now be obtained. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 15 ] WINAPI CE API Programming Guide LXEBatteryDischargeBackup CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 16 ] WINAPI CE API Programming Guide LXEBatteryIsACPower LXEBatteryIsACPower int LXEBatteryIsACPower(int *status); This function sets the status variable to: 1 if the computer has external power supplied, or 0 if the computer is powered only by battery. This reflects the power state as of the last status loop of the battery driver which occurs every 500 ms. For the MX7, HX2 and HX3 this API returns the error message ERROR_NOT_READY if the battery driver thread is not currently running. This can occur during cold and warm booting of the device as well as when recovering from suspend mode. If this error message is returned by this API the user must keep calling this API until the error message is no longer being returned, indicating that the correct return value can now be obtained. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes E-SW-WINAPIPG-S [ 17 ] WINAPI CE API Programming Guide LXEBatteryIsACPower CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 18 ] WINAPI CE API Programming Guide LXEBatteryReadVoltage LXEBatteryReadVoltage int LXEBatteryReadVoltage(int *vmain, int *vback); This function returns the current voltage of both the main battery (vmain) and the backup battery (vback), in millivolts. This is the value read by the last poll of the battery driver, which occurs every 10 seconds. For the MX7, HX2 and HX3 the value returned is the average for the last 6 readings from the poll of the battery driver. For the MX7, HX2 and HX3 this API returns the error message ERROR_NOT_READY if the battery driver thread is not currently running. This can occur during cold and warm booting of the device as well as when recovering from suspend mode. If this error message is returned by this API the user must keep calling this API until the error message is no longer being returned, indicating that the correct return value can now be obtained. Note: On an RX2 device, this API returns no error, but has no effect on the device. Use LXEBatteryLife() and LXEBatteryAlarm() to monitor the RX2 battery. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes E-SW-WINAPIPG-S [ 19 ] WINAPI CE API Programming Guide LXEBatteryReadVoltage CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 20 ] WINAPI CE API Programming Guide LXEBatteryReadPercent LXEBatteryReadPercent int LXEBatteryReadPercent(int *pmain, int *pback); Note: For the MX5, this API is supported for the Main Battery only. The pback return value is meaningless. This function returns the current percentage of full charge of both the main battery (pmain) and the backup battery (pback), in percent notation. This is the value read by the last poll of the battery driver, which occurs every 10 seconds. In addition, the battery driver assumes a linear charge lifetime, which is only approximately accurate. This value reflects the distance between fully charged (100%) and discharged to the critically low voltage trip point (0%). For the MX7, HX2 and HX3 the value returned is the average for the last 6 readings from the poll of the battery driver. For the MX7, HX2 and HX3 this API returns the error message ERROR_NOT_READY if the battery driver thread is not currently running. This can occur during cold and warm booting of the device as well as when recovering from suspend mode. If this error message is returned by this API the user must keep calling this API until the error message is no longer being returned, indicating that the correct return value can now be obtained. Note: The 0% end of the percentage range DOES NOT correspond to zero battery power. Instead, it corresponds to the critically low point below which the computer does not have enough power to operate. Note: On an RX2 device, this API returns no error, but has no effect on the device. Use LXEBatteryLife() and LXEBatteryAlarm() to monitor the RX2 battery. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes E-SW-WINAPIPG-S [ 21 ] WINAPI CE API Programming Guide LXEBatteryReadPercent CE 4.x Devices API Supported MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 22 ] WINAPI CE API Programming Guide LXEBatteryReadmaHr LXEBatteryReadmaHr int LXEBatteryReadmAhr(int *pmain); This function returns the current charge in mA/hours of the main battery (pmain). This is the value read by the last poll of the battery driver which occurs every 10 seconds. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET Yes VX3X CE.NET No VX4 CE.NET Yes VX6 CE.NET No VX7 CE.NET No RX2 CE.NET No CE 3.x Devices API Supported MX3 CE 3.0 No E-SW-WINAPIPG-S [ 23 ] WINAPI CE API Programming Guide LXEBatteryReadmaHr CE 3.x Devices API Supported MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 24 ] WINAPI CE API Programming Guide LXEBatteryLife LXEBatteryLife int LXEBatteryLife(int *vlife); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current state of the RX2 battery in vlife. This function returns: RX2_BATTLIFE_GOOD(1) RX2_BATTLIFE_LOW(2) Note: The RX2 battery status switches to Low when there is approximately 30 minutes of battery life remaining. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET N/A VX3X CE.NET No VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No E-SW-WINAPIPG-S [ 25 ] WINAPI CE API Programming Guide LXEBatteryLife CE 4.x Devices API Supported RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 26 ] WINAPI CE API Programming Guide LXEBatteryAlarm LXEBatteryAlarm int LXEBatteryLife(int state); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function turns on the RX2 battery alarm if state=1 or turns the alarm off if state=0. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET N/A VX3X CE.NET No VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 27 ] WINAPI CE API Programming Guide LXEBatteryAlarm CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 28 ] WINAPI CE API Programming Guide PCMCIA API Calls API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. For the PCMCIA APIs, the parameter slot can have the values shown in the tables below (where X indicates the slot is present on the device): When a device does not exist on a given computer platform, GetLastError() returns ERROR_DEV_NOT_EXIST (55). If the function is not supported on the given slot, GetLastError() returns ERROR_NOT SUPPORTED (50). CE 5.0 Devices MX3Plus MX3X VX6 MX5X MX7 HX2 Value MX3-RFID VX3XPlus MX8 MX9 VX7 MX5-IS MX7CS HX3 VX3X Constant SLOT_PCMCIA 0 X X X SLOT_PCMCIA2 1 SLOT_COMPACTFLASH 1 X SLOT_INTATA 2 X X X SLOT_SMSC (on-board Ethernet controller) 3 X X X SLOT_SDMMC 4 SLOT_USB_RADIO 5 SLOT_SDMMC2 6 X SLOT_FLASH 7 X SLOT_FLASH_RAW 8 X X X X* X X X X X X X X ** X X Note: * SLOT_COMPACTFLASH is valid only for MX7s with a Summit radio. Note: ** SLOT_USB_RADIO is only valid for MX7's without a Summit radio. E-SW-WINAPIPG-S [ 29 ] WINAPI CE API Programming Guide X PCMCIA API Calls CE 4.x Devices MX3X MX3-RFID VX6 MX5X Value RX2 VX7 MX5-IS VX3X Constant #define SLOT_PCMCIA 0 X X X #define SLOT_PCMCIA2 1 #define SLOT_COMPACTFLASH 1 X #define SLOT_INTATA 2 X X X #define SLOT_SMSC (on-board Ethernet controller) 3 X X X #define SLOT_SDMMC 4 #define SLOT_USB RADIO 5 X X CE 3.x Devices Constant Value MX3-CE MX5 #define SLOT_PCMCIA 0 #define SLOT_PCMCIA2 1 #define SLOT_COMPACTFLASH 1 #define SLOT_INTATA 2 #define SLOT_SMSC (on-board Ethernet controller) 3 #define SLOT_SDMMC 4 #define SLOT_USB_RADIO 5 X X X X E-SW-WINAPIPG-S [ 30 ] WINAPI CE API Programming Guide LXEPcmciaHasCard LXEPcmciaHasCard int LXEPcmciaHasCard(int slot, int *status); Please refer to this table for a list of valid options for the slot parameter. This function returns status of the specified slot: 1 If a card is inserted in the slot, or 0 If a card is not inserted in the slot. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 31 ] WINAPI CE API Programming Guide LXEPcmciaHasCard CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 32 ] WINAPI CE API Programming Guide LXEPcmciaDisableSlot LXEPcmciaDisableSlot int LXEPcmciaDisableSlot(int slot); Please refer to this table for a list of valid options for the slot parameter. This function disables the specified slot. It does this by setting an internal flag which causes any card insertions on the slot to be ignored. It then removes power from the slot. Normally, the card would be detected by the PCMCIA driver and power restored to the slot. However, the internal flag prevents this happening, and the card is disabled. The slot can still be powered and accessed by applications or diagnostic software, but it is inhibited from detection by the PCMCIA driver. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 No MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 33 ] WINAPI CE API Programming Guide LXEPcmciaDisableSlot CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 34 ] WINAPI CE API Programming Guide LXEPcmciaEnableSlot LXEPcmciaEnableSlot int LXEPcmciaEnableSlot(int slot); Please refer to this table for a list of valid options for the slot parameter. This function enables the specified slot, generally after being deactivated by the disable function, listed previously. It does this by clearing an internal flag which causes any card insertions on the slot to be ignored. The card is then detected by the PCMCIA driver and power is restored to the slot, restoring the card to normal operation. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 No MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 35 ] WINAPI CE API Programming Guide LXEPcmciaEnableSlot CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 36 ] WINAPI CE API Programming Guide LXEPcmciaWriteProtect LXEPcmciaWriteProtect int LXEPcmciaWriteProtect(int slot, int val); This function causes the card in the specified slot to be write protected. This sets an internal flag which inhibits the PCMCIA driver from allowing writes to the card. It is undefined what happens when a non-SRAM card is write protected; it is safe to assume the card is no longer going to function properly. Please refer to this table for a list of valid options for the slot parameter. The argument val is: 1 to write protect the card, and 0 to allow writes to the card. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes E-SW-WINAPIPG-S [ 37 ] WINAPI CE API Programming Guide LXEPcmciaWriteProtect CE 4.x Devices API Supported RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 38 ] WINAPI CE API Programming Guide Power Management API Calls API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. This section assumes the user is familiar with the power management features and power management states (or power modes) of the particular LXE computer. For more details on power management and primary events, please refer to the reference guide for the LXE computer. Power management APIs differ from device to device. For example: l l l The MX3-CE (CE 3.0) uses LXE proprietary power management, controlled by these APIs. On CE 4.x and 5.s devices, the APIs control standard Microsoft OS power management. For the VX3Plus, VX3X, VX6, VX7 and RX2, power management is running, but these devices are “Always On”. There is no apparent result from calling Power Management APIs on the listed devices since there is no difference between “Always On” and “Normal”. The PocketPC devices do not support any power management APIs. Note: On some devices which do not support power management, the API may return success. However, the API has no effect on the device. This is harmless to the calling application. E-SW-WINAPIPG-S [ 39 ] WINAPI CE API Programming Guide LXEPowerMgrEnable LXEPowerMgrEnable int LXEPowerMgrEnable(void); This function generates a system event which causes the power management driver to return to normal operation. The most common usage is following an LXEPowerMgrAlwaysOn() command, detailed later in this document. This call has the same function as LXEPowerMgrToNormal(). On CE 4.x and later devices, the thread generating user events is terminated, see LXEPowerMgrAlwaysOn(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 40 ] WINAPI CE API Programming Guide LXEPowerMgrEnable CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 41 ] WINAPI CE API Programming Guide LXEPowerMgrToNormal LXEPowerMgrToNormal int LXEPowerMgrToNormal(void); This function generates a system event which causes the power management driver to return to normal operation. The most common usage is following an LXEPowerMgrAlwaysOn() command, detailed later in this document. This call has the same function as LXEPowerMgrEnable(). On CE 4.x and later devices, the thread generating user events is terminated, see LXEPowerMgrAlwaysOn(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 42 ] WINAPI CE API Programming Guide LXEPowerMgrToNormal CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 43 ] WINAPI CE API Programming Guide LXEPowerMgrAlwaysOn LXEPowerMgrAlwaysOn int LXEPowerMgrAlwaysOn(void); This function generates a system event which causes the power management driver to disable operation, leaving all power always on. This disables all display and backlight controls, as well as the OS suspend timer. For CE 4.x and later equipped computers, this function spins off a thread which generates user events once per second to keep the power manager in the D0 (On) state. Note: This thread is in the application space, so two applications have two separate threads. Both threads must be terminated to restore power management to normal. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 44 ] WINAPI CE API Programming Guide LXEPowerMgrAlwaysOn CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 45 ] WINAPI CE API Programming Guide LXEPowerMgrDisplayNormal LXEPowerMgrDisplayNormal int LXEPowerMgrDisplayNormal(void); This function generates a system event which causes the power management driver to start handling display on/off timing and events normally. The most common usage is following an LXEPowerMgrDisplayOn() command, detailed later in this document. On CE 4.x and later devices, the thread generating user events is terminated, see LXEPowerMgrDisplayOn(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 46 ] WINAPI CE API Programming Guide LXEPowerMgrDisplayNormal CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 47 ] WINAPI CE API Programming Guide LXEPowerMgrDisplayOn LXEPowerMgrDisplayOn int LXEPowerMgrDisplayOn(void); This function generates a system event which causes the power management driver to disable monitoring display on/off timing and events, leaving display power always on. This has no effect on other power management subsystems. For CE 4.x and later equipped computers, this function spins off a thread which generates user events once per second to keep the power manager in the D1 (User Idle) state. Note: This thread is in the application space, so two applications have two separate threads. Both threads must be terminated to restore power management to normal. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 48 ] WINAPI CE API Programming Guide LXEPowerMgrDisplayOn CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 49 ] WINAPI CE API Programming Guide LXEPowerMgrBacklightNormal LXEPowerMgrBacklightNormal int LXEPowerMgrBacklightNormal(void); This function generates a system event which causes the power management driver to start handling backlight on/off timing and events normally. The most common usage is following an LXEPowerMgrBacklightOn() command, detailed later in this document. On CE 4.x and later devices, the thread generating user events is terminated, see LXEPowerMgrBacklightOn(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 50 ] WINAPI CE API Programming Guide LXEPowerMgrBacklightNormal CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 51 ] WINAPI CE API Programming Guide LXEPowerMgrBacklightOn LXEPowerMgrBacklightOn int LXEPowerMgrBacklightOn(void); This function generates a system event which causes the power management driver to disable monitoring backlight on/off timing and events, leaving backlight power always on. This has no effect on other power management subsystems. For CE 4.x and later equipped computers, this function spins off a thread which generates user events once per second to keep the power manager in the D0 (On) state. Note: This thread is in the application space, so two applications have two separate threads. Both threads must be terminated to restore power management to normal. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 52 ] WINAPI CE API Programming Guide LXEPowerMgrBacklightOn CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 53 ] WINAPI CE API Programming Guide LXEPowerMgrLoopTime LXEPowerMgrLoopTime int LXEPowerMgrLoopTime(int val); This function changes the value of the power manager loop interval (given in milliseconds) and saves it to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. The argument val is the loop time in milliseconds. By default it is 5000. This API is obsolete. CE 4.x and later equipped computers use the OS-native power management so this function is not implemented for those computers. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET No VX3X CE.NET No VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET No E-SW-WINAPIPG-S [ 54 ] WINAPI CE API Programming Guide LXEPowerMgrLoopTime CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 55 ] WINAPI CE API Programming Guide LXEPowerMgrBacklightTimeout LXEPowerMgrBacklightTimeout int LXEPowerMgrBacklightTimeout(int valbatt, int valac); This function changes the values of the backlight power management timeouts (given in seconds) and saves them to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. The argument valbatt is the timeout when running under battery power, and the argument valac is the timeout when running under external AC power. For CE 4.x and later equipped computers, this function sets timeouts for power management state D1 (User Idle), which is entered when there are no user events in the given timeout period. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 56 ] WINAPI CE API Programming Guide LXEPowerMgrBacklightTimeout CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 57 ] WINAPI CE API Programming Guide LXEPowerMgrGetBacklightTimeout LXEPowerMgrGetBacklightTimeout int LXEPowerMgrGetBacklightTimeout(int *valbatt, int *valac); This function returns the values of the backlight power management timeouts (given in seconds). The argument valbatt is the timeout when running under battery power, and the argument valac is the timeout when running under external AC power. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 58 ] WINAPI CE API Programming Guide LXEPowerMgrGetBacklightTimeout CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 59 ] WINAPI CE API Programming Guide LXEPowerMgrDisplayTimeout LXEPowerMgrDisplayTimeout int LXEPowerMgrDisplayTimeout(int valbatt, int valac); This function changes the values of the display power management timeouts (given in seconds) and saves them to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. The argument valbatt is the timeout when running under battery power, and the argument valac is the timeout when running under external AC power. For CE 4.x and later equipped computers, this function sets timeouts for power management state D2 (System Idle), which is entered when there are no system events in the given timeout period. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 60 ] WINAPI CE API Programming Guide LXEPowerMgrDisplayTimeout CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 61 ] WINAPI CE API Programming Guide LXEPowerMgrGetDisplayTimeout LXEPowerMgrGetDisplayTimeout int LXEPowerMgrGetDisplayTimeout(int *valbatt, int *valac); This function returns the values of the display power management timeouts (given in seconds). The argument valbatt is the timeout when running under battery power, and the argument valac is the timeout when running under external AC power. For CE 4.x and later equipped computers, this function returns timeouts for power management state D2 (System Idle), which is entered when there are no system events in the given timeout period. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 62 ] WINAPI CE API Programming Guide LXEPowerMgrGetDisplayTimeout CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 63 ] WINAPI CE API Programming Guide LXEPowerMgrSuspendTimeout LXEPowerMgrSuspendTimeout int LXEPowerMgrSuspendTimeout(int valbatt, int valac); This function changes the values of the suspend power management timeouts (given in seconds) and saves them to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. The argument valbatt is the timeout when running under battery power, and the argument valac is the timeout when running under external AC power. For CE 4.x and later equipped computers, this function sets timeouts for power management state D3 (Suspend), which is entered when there are no system events in the given timeout period. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 64 ] WINAPI CE API Programming Guide LXEPowerMgrSuspendTimeout CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 65 ] WINAPI CE API Programming Guide LXEPowerMgrGetSuspendTimeout LXEPowerMgrGetSuspendTimeout int LXEPowerMgrGetSuspendTimeout(int *valbatt, int *valac); This function returns the values of the suspend power management timeouts (given in seconds). The argument valbatt is the timeout when running under battery power, and the argument valac is the timeout when running under external AC power. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 66 ] WINAPI CE API Programming Guide LXEPowerMgrGetSuspendTimeout CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 67 ] WINAPI CE API Programming Guide LXEPowerMgrPrimaryEvents LXEPowerMgrPrimaryEvents int LXEPowerMgrPrimaryEvents(unsigned long val); This function changes the bitmask of primary events that affect waking from suspend, and saves it to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. Valid values within the bitmask are listed in the Primary Events tables. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 68 ] WINAPI CE API Programming Guide LXEPowerMgrPrimaryEvents CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 69 ] WINAPI CE API Programming Guide LXEPowerMgrBacklightPrimaryEvents LXEPowerMgrBacklightPrimaryEvents int LXEPowerMgrBacklightPrimaryEvents(unsigned long val); This function changes the bitmask of primary events that affect backlight power on/off, and saves it to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. The values within the bitmask are listed in the Primary Event tables. Default events are: l PRIMARYEVT_KEY, l PRIMARYEVT_TOUCH, l PRIMARYEVT_DOCKED, l PRIMARYEVT_COM1, l PRIMARYEVT_COM2, l PRIMARYEVT_COM3, l PRIMARYEVT_SCAN, and l PRIMARYEVT_USB. This API is obsolete. CE 4.x and later equipped computers use the OS-native power management so this function is not implemented for those computers.v WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No E-SW-WINAPIPG-S [ 70 ] WINAPI CE API Programming Guide LXEPowerMgrBacklightPrimaryEvents CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET No VX3X CE.NET No VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET No CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 71 ] WINAPI CE API Programming Guide LXEPowerMgrDisplayPrimaryEvents LXEPowerMgrDisplayPrimaryEvents int LXEPowerMgrDisplayPrimaryEvents(unsigned long val); This function changes the bitmask of primary events that affect display blanking, and saves it to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. The values within the bitmask are given previously, under LXEPowerMgrPrimaryEvents(). Default events are: l PRIMARYEVT_POWER, l PRIMARYEVT_KEY, l PRIMARYEVT_TOUCH, l PRIMARYEVT_DOCKED, l PRIMARYEVT_COM1, l PRIMARYEVT_COM2, l PRIMARYEVT_COM3, l PRIMARYEVT_SCAN, and l PRIMARYEVT_USB. This API is obsolete. CE 4.x and later equipped computers use the OS-native power management so this function is not implemented for those computers. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No E-SW-WINAPIPG-S [ 72 ] WINAPI CE API Programming Guide LXEPowerMgrDisplayPrimaryEvents CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET No VX3X CE.NET No VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET No CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 73 ] WINAPI CE API Programming Guide LXEPowerMgrSuspendPrimaryEvents LXEPowerMgrSuspendPrimaryEvents int LXEPowerMgrSuspendPrimaryEvents(unsigned long val); This function changes the bitmask of primary events that affect suspend, and saves it to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. The values within the bitmask are listed in the Primary Events tables. Default events are: l PRIMARYEVT_POWER, l PRIMARYEVT_KEY, l PRIMARYEVT_TOUCH, l PRIMARYEVT_DOCKED, l PRIMARYEVT_COM1, l PRIMARYEVT_COM2, l PRIMARYEVT_COM3, l PRIMARYEVT_SCAN, and l PRIMARYEVT_USB. This API is obsolete. CE 4.x and later equipped computers use the OS-native power management so this function is not implemented for those computers. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No E-SW-WINAPIPG-S [ 74 ] WINAPI CE API Programming Guide LXEPowerMgrSuspendPrimaryEvents CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET No VX3X CE.NET No VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET No CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 75 ] WINAPI CE API Programming Guide LXEForcePowerKeyPrimaryEvent LXEForcePowerKeyPrimaryEvent int LXEForcePowerKeyPrimaryEvent(void); This function generates a user event which simulates a power keypress to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D1 (user idle). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 76 ] WINAPI CE API Programming Guide LXEForcePowerKeyPrimaryEvent CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 77 ] WINAPI CE API Programming Guide LXEForceKeyPrimaryEvent LXEForceKeyPrimaryEvent int LXEForceKeyPrimaryEvent(void); This function generates a user event which simulates a keypress to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D1 (user idle). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 78 ] WINAPI CE API Programming Guide LXEForceKeyPrimaryEvent CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 79 ] WINAPI CE API Programming Guide LXEForceTouchPrimaryEvent LXEForceTouchPrimaryEvent int LXEForceTouchPrimaryEvent(void); This function generates a user event which simulates a screen touch to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D1 (user idle). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 80 ] WINAPI CE API Programming Guide LXEForceTouchPrimaryEvent CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 81 ] WINAPI CE API Programming Guide LXEForceScanPrimaryEvent LXEForceScanPrimaryEvent int LXEForceScanPrimaryEvent(int onoff); This function generates a user event which simulates a scan to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D1 (user idle). The onoff parameter is set to one of the following values: 1 event starts, or 0 event stops. Note: For CE 4.x and later equipped computers, the onoff parameter is ignored. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes E-SW-WINAPIPG-S [ 82 ] WINAPI CE API Programming Guide LXEForceScanPrimaryEvent CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 83 ] WINAPI CE API Programming Guide LXEForceUserPrimaryEvent LXEForceUserPrimaryEvent int LXEForceUserPrimaryEvent(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function generates a system event which simulates a user event to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D1 (user idle). For compatibility, this function is also mapped to the following API calls: int LXEForcePowerKeyPrimaryEvent(void); int LXEForceKeyPrimaryEvent(void); int LXEForceTouchPrimaryEvent(void); int LXEForceScanPrimaryEvent(int onoff); The parameter onoff in some of the calls is unused, but is present for compatibility with CE 3.0 usage. The original usage was: 1 activates the event, and 0 deactivates it. This value is not processed in the API. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 84 ] WINAPI CE API Programming Guide LXEForceUserPrimaryEvent CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 85 ] WINAPI CE API Programming Guide LXEForcePCMCIAPrimaryEvent LXEForcePCMCIAPrimaryEvent int LXEForcePCMCIAPrimaryEvent(void); This function generates a system event which simulates a PCMCIA event to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D2 (system idle). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 86 ] WINAPI CE API Programming Guide LXEForcePCMCIAPrimaryEvent CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 87 ] WINAPI CE API Programming Guide LXEForceCOM1PrimaryEvent LXEForceCOM1PrimaryEvent int LXEForceCOM1PrimaryEvent(int onoff); This function generates a system event which simulates a COM1 event to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D2 (system idle). The onoff parameter is set to one of the following values: 1 event starts 0 event stops Note: For CE 4.x and later equipped computers, the onoff parameter is ignored. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes E-SW-WINAPIPG-S [ 88 ] WINAPI CE API Programming Guide LXEForceCOM1PrimaryEvent CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 89 ] WINAPI CE API Programming Guide LXEForceCOM2PrimaryEvent LXEForceCOM2PrimaryEvent int LXEForceCOM2PrimaryEvent(int onoff); This function generates a system event which simulates a COM2 event to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D2 (system idle). The onoff parameter is set to one of the following values: 1 event starts 0 event stops Note: For CE 4.x and later equipped computers, the onoff parameter is ignored. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes E-SW-WINAPIPG-S [ 90 ] WINAPI CE API Programming Guide LXEForceCOM2PrimaryEvent CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 91 ] WINAPI CE API Programming Guide LXEForceCOM3PrimaryEvent LXEForceCOM3PrimaryEvent int LXEForceCOM3PrimaryEvent(int onoff); This function generates a system event which simulates a COM3 event to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D2 (system idle). The onoff parameter is set to one of the following values: 1 event starts 0 event stops Note: For CE 4.x and later equipped computers, the onoff parameter is ignored. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes E-SW-WINAPIPG-S [ 92 ] WINAPI CE API Programming Guide LXEForceCOM3PrimaryEvent CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 93 ] WINAPI CE API Programming Guide LXEForceUSBPrimaryEvent LXEForceUSBPrimaryEvent int LXEForceUSBPrimaryEvent(int onoff); This function generates a system event which simulates a USB event to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D2 (system idle). The onoff parameter is set to one of the following values: 1 event starts 0 event stops Note: For CE 4.x and later equipped computers, the onoff parameter is ignored. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes E-SW-WINAPIPG-S [ 94 ] WINAPI CE API Programming Guide LXEForceUSBPrimaryEvent CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 95 ] WINAPI CE API Programming Guide LXEForceDockedPrimaryEvent LXEForceDockedPrimaryEvent int LXEForceDockedPrimaryEvent(int onoff); This function generates a system event which simulates a Docked event to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D2 (system idle). The onoff parameter is set to one of the following values: 1 event starts 0 event stops Note: For CE 4.x and later equipped computers, the onoff parameter is ignored. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes E-SW-WINAPIPG-S [ 96 ] WINAPI CE API Programming Guide LXEForceDockedPrimaryEvent CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 97 ] WINAPI CE API Programming Guide LXEForceSystemPrimaryEvent LXEForceSystemPrimaryEvent int LXEForceSystemPrimaryEvent(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function generates a system event which simulates a system event to the power management driver. This is primarily of use in diagnostic software, or to force a wakeup of the power management system. Note: This event has no effect on the computer going into suspend, only the transition to power management state D2 (system idle). For compatibility, this function is also mapped to the following API calls: int LXEForcePCMCIAPrimaryEvent(void); int LXEForceCOM1PrimaryEvent(int onoff); int LXEForceCOM2PrimaryEvent(int onoff); int LXEForceCOM3PrimaryEvent(int onoff); int LXEForceUSBPrimaryEvent(int onoff); int LXEForceDockedPrimaryEvent(int onoff); The parameter onoff in some of the calls is unused, but is present for compatibility with CE 3.0 usage. The original usage was: 1 event starts 0 event stops This value is not processed in the API. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 98 ] WINAPI CE API Programming Guide LXEForceSystemPrimaryEvent CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 99 ] WINAPI CE API Programming Guide LXESetCOMSystemActivity LXESetCOMSystemActivity int LXESetCOMSystemActivity(int port, BOOL onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to select whether incoming serial data on a COM port generates System Activity. By default, incoming serial data on any COM port generates System Activity which resets the Suspend timer. The port parameter can be set to the following values for the MX9: 1 external COM port 2 Bluetooth UART 3 Super Raptor / WWAN radio 4 Hirose probe / internal scanner 5 GPS The onoff parameter is set to one of the following values: 1 incoming serial data generates System Activity 0 incoming serial data does not generate System Activity This function returns: 0 on error, or 1 on success. GetLastError() may be used to get a detailed error message in the case of failure. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile N/A CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A E-SW-WINAPIPG-S [ 100 ] WINAPI CE API Programming Guide LXESetCOMSystemActivity CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 101 ] WINAPI CE API Programming Guide LXEIsCOMSystemActivity LXEIsCOMSystemActivity int LXEIsCOMSystemActivity(int port); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to determine whether incoming serial data on a COM port generates System Activity. The port parameter can be set to the following values for the MX9: 1 external COM port 2 Bluetooth UART 3 Super Raptor / WWAN radio 4 Hirose probe / internal scanner 5 GPS This function returns: 0 if incoming serial data does not generate System Activity, or 1 if incoming serial data generates System Activity. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile N/A CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A E-SW-WINAPIPG-S [ 102 ] WINAPI CE API Programming Guide LXEIsCOMSystemActivity CE 4.x Devices API Supported VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 103 ] WINAPI CE API Programming Guide Scanner API Calls API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. The scanner has two different usage methods, depending upon whether or not the scanner driver is active. If the scanner driver is active (for example, ports are enabled in the Scanner Control panel), any configured serial ports are locked so other applications cannot use them (Windows CE is unable to share file connections). The scanner driver buffers all data sent through it, which may be retrieved with standard file open / read / close calls to the scanner wedge, device WDG0:. This data may also be sent as keystroke messages to the front-most window, allowing use of the scanner with applications which otherwise do not support scanned data. The buffer can hold up to 2048 characters of data to support 2D scanners. For the following devices: l HX2 CE 5.0 l HX3 CE 5.0 l MX3Plus CE 5.0 l MX3X CE .NET and CE 5.0 l MX3-RFID CE .NET and CE 5.0 l MX7 and MX7CS CE 5.0 l MX8 CE 5.0 l MX9, MX9CS and MX9HL CE 5.0 l VX3Plus CE 5.0 l VX3X CE.NET and CE 5.0 l VX6 CE .NET and CE 5.0 l VX7 CE .NET and CE 5.0 l RX2 CE .NET By default, the scan data remains in the buffer until the next successful scan is completed. This allows multiple applications to access the scanned data. The user can configure the scanner wedge to clear the buffer following a call to LXEScannerGetData by editing the following registry setting: HKEY_LOCAL_MACHINE\SOFTWARE\LXE\Scanner “ClearBuf” = dword:1 For the following devices: l MX5 CE .NET (includes MX5-IS) The scan data remains in the buffer until the next successful scan is completed. This allows multiple applications to access the scanned data. For the following devices: l MX3 CE3.0 l VX4 CE .NET E-SW-WINAPIPG-S [ 104 ] WINAPI CE API Programming Guide Scanner API Calls l MX5 PPC l MX6 PPC l MX6 WinMobile Even if sent as keystrokes, the buffer is cleared when some API (for example, LXEScannerGetData) calls are made. For all devices: If the scanner driver is not active on a given port (the Scanner control panel shows no connection to that port), the scanner data can be read through direct file I/O to the COM port (see Serial Port API section). Any necessary formatting or scanner control must be done directly by the application reading the data. None of the APIs in this section apply. Note: The term port sometimes refers to the serial port attached to the scanner. Other times it is used to refer to the scanner connection port (also called the scan port). There are two or three scan ports available, allowing connection of two or three scanners simultaneously. Don’t confuse the serial port and the scan port terms. Note: On some devices which do not support internal scanners, the API calls requiring an internal scanner return an error that the internal scanner is not found. Please refer to the applicable reference guide for the LXE computer for details on available COM ports and scanners. IMPORTANT:For the MX5 PPC, MX5X and MX6: Default settings for the scanner interface are not initialized by the operating system. Therefore, after a cold boot the scanner settings must be initialized using the Scanner control panel before calling any of the scanner API’s. The scanner settings are retained through a warm boot. E-SW-WINAPIPG-S [ 105 ] WINAPI CE API Programming Guide LXEHasIntScanner LXEHasIntScanner int LXEHasIntScanner(void) This function polls the computer to see if it has an internal scanner. Tethered or ring scanner connections generate a 0 result. This function returns: 0 the computer has no internal scanner. 1 the computer has a Symbol laser scanner, or 2 the computer has an Intermec imager, or 3 the computer has an HHP imager. The MX7 may require an update to support values other than 0 and 1. The MX7 and CE .NET versions of the MX3X, VX6 and VX7 may require an update to support values other than 0 and 1. Scanner APIs which require an internal scanner fail with an error code ERROR_ACCESS_DENIED if an internal scanner is not present. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes E-SW-WINAPIPG-S [ 106 ] WINAPI CE API Programming Guide LXEHasIntScanner CE 5.x Devices API Supported VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes * MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes * VX7 CE.NET Yes * RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 107 ] WINAPI CE API Programming Guide LXEHasIntRFID LXEHasIntRFID int LXEHasIntRFID(void) This function polls the computer to see if it has an internal RFID reader. Currently, only the MX3X offers an RFID reader (and is identified as an MX3-RFID when so equipped). Other devices support this API call for application compatibility. This function returns: 1 the computer has an internal RFID reader, or 0 the computer has no internal RFID reader. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No E-SW-WINAPIPG-S [ 108 ] WINAPI CE API Programming Guide LXEHasIntRFID CE 4.x Devices API Supported VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 109 ] WINAPI CE API Programming Guide LXEScannerEnable LXEScannerEnable int LXEScannerEnable(void); Note: After making this call, wait 1.5 seconds before attempting a scan. This allows the COM ports to be configured. This function generates a system event which causes the scanner driver to return to normal operation, usually after a disable command. When resuming operation, it rereads all registry settings, so any unsaved settings (setup via API calls) revert to their permanent settings. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes E-SW-WINAPIPG-S [ 110 ] WINAPI CE API Programming Guide LXEScannerEnable CE 4.x Devices API Supported VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 111 ] WINAPI CE API Programming Guide LXEScannerDisable LXEScannerDisable int LXEScannerDisable(void); This function generates a system event which causes the scanner driver to disable operation. This closes all serial ports being monitored by the scanner driver, and any unread data in the scanner driver buffer is lost. This API can be called to free the serial port for use by another application (such as ActiveSync). For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes E-SW-WINAPIPG-S [ 112 ] WINAPI CE API Programming Guide LXEScannerDisable CE 4.x Devices API Supported VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 113 ] WINAPI CE API Programming Guide LXEScannerInputEnable LXEScannerInputEnable int LXEScannerInputEnable(void); This function is designed for applications where the 1 to 2 second delay in enabling/disabling the scanner using other APIs causes an unacceptable wait. This function sends an IOCTL (Input/Output control) to the scanner driver to enable all scan keys and trigger button. This affects nothing else in the process so it happens instantly. The scanner does not need to be restarted. This function is used to enable input after the LXEScannerInputDisable function has been used to disable the scan keys and trigger button. This setting is not saved in the registry, so that a reboot resets it. The default after a reboot is that input is enabled. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 114 ] WINAPI CE API Programming Guide LXEScannerInputEnable CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 115 ] WINAPI CE API Programming Guide LXEScannerInputDisable LXEScannerInputDisable int LXEScannerInputDisable(void); This function is designed for applications where the 1 to 2 second delay in enabling/disabling the scanner using other APIs causes an unacceptable wait. This function sends an IOCTL (Input/Output control) to the scanner driver to disable all scan keys and trigger button. This affects nothing else in the process so it happens instantly. The scanner does not need to be restarted. Use the LXEScannerInputEnable function to re-enable input after this function has been used. This setting is not saved in the registry, so that a reboot resets it. The default after a reboot is that input is enabled. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes E-SW-WINAPIPG-S [ 116 ] WINAPI CE API Programming Guide LXEScannerInputDisable CE 4.x Devices API Supported MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 117 ] WINAPI CE API Programming Guide LXEScannerReset LXEScannerReset int LXEScannerReset(void); This function generates a system event which causes the scanner driver to reload all registry settings. This has the side effect of closing all scanner connections and reopening them in case the settings have been changed. This also reloads all registry configurations for symbologies. It is expected this API is useful for test applications where the registry is loaded remotely or through scripting and the scanner driver needs to be restarted with the new settings. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No E-SW-WINAPIPG-S [ 118 ] WINAPI CE API Programming Guide LXEScannerReset CE 4.x Devices API Supported VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 119 ] WINAPI CE API Programming Guide LXEScannerStart LXEScannerStart int LXEScannerStart(void); This function generates a system event which causes the scanner driver to start a scan operation on the internal scanner. Note: This API call has no effect on external tethered scanners. This turns the laser on to execute a read, and continues until: l a successful read occurs, l the laser-on timeout is reached, or l the LXEScannerStop() API call is executed. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 120 ] WINAPI CE API Programming Guide LXEScannerStart CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 121 ] WINAPI CE API Programming Guide LXEScannerStop LXEScannerStop int LXEScannerStop(void); This function generates a system event which causes the scanner driver to terminate a scan operation on the internal scanner. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No E-SW-WINAPIPG-S [ 122 ] WINAPI CE API Programming Guide LXEScannerStop CE 4.x Devices API Supported VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 123 ] WINAPI CE API Programming Guide LXEScannerForceScan LXEScannerForceScan int LXEScannerForceScan(void); This function performs a scan operation. This function controls the internal scanner directly on platforms where that is possible. This allows the configuration between the scanner engine and driver to be synchronized. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No E-SW-WINAPIPG-S [ 124 ] WINAPI CE API Programming Guide LXEScannerForceScan CE 4.x Devices API Supported VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 125 ] WINAPI CE API Programming Guide LXEScannerGetStatus LXEScannerGetStatus int LXEScannerGetStatus(void) This function returns the status of the scanner: SCAN_SCANNING (1) if scan is in progress. SCAN_COMPLETE (0) if scan has finished. SCAN_NOSCAN (2) if scan was unsuccessful. SCAN_ERROR (3) if an error occurred during scanning, or if the scanner is not configured correctly. SCAN_BUSY (4) if the scanner is still busy from a previous scan. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 126 ] WINAPI CE API Programming Guide LXEScannerGetStatus CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 127 ] WINAPI CE API Programming Guide LXEScannerGetData LXEScannerGetData int LXEScannerGetData(char *buf, int *buflen) Call with a pointer to the output buffer in buf, and a pointer to a length value in buflen. On call, set buflen to the length of the actual buffer. On return, buflen has the length of the scanned string. The string is automatically terminated with a zero byte. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes E-SW-WINAPIPG-S [ 128 ] WINAPI CE API Programming Guide LXEScannerGetData CE 4.x Devices API Supported VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 129 ] WINAPI CE API Programming Guide LXEScannerPutData LXEScannerPutData int LXEScannerPutData(char *buf, int *buflen) Call with a pointer to the output buffer in buf, and a pointer to a length value in buflen. On call, set buflen to the length of the actual buffer. On return, buflen has the length of the scanned string. The string is automatically terminated with a zero byte. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No E-SW-WINAPIPG-S [ 130 ] WINAPI CE API Programming Guide LXEScannerPutData CE 4.x Devices API Supported VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 131 ] WINAPI CE API Programming Guide LXEScannerKeysOff LXEScannerKeysOff int LXEScannerKeysOff(void); This function generates a system event which causes the scanner driver to stop processing scanned data as keystroke messages. Note: This setting is NOT saved in the registry. To make the change permanent, it must be changed in the Scanner control panel on the device. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes E-SW-WINAPIPG-S [ 132 ] WINAPI CE API Programming Guide LXEScannerKeysOff CE 4.x Devices API Supported VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 133 ] WINAPI CE API Programming Guide LXEScannerKeysOn LXEScannerKeysOn int LXEScannerKeysOn(void); This function generates a system event which causes the scanner driver to start processing scanned data as keystroke messages sent to the front-most window. Note: This setting is NOT saved in the registry. To make the change permanent, it must be changed in the Scanner control panel on the device. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes E-SW-WINAPIPG-S [ 134 ] WINAPI CE API Programming Guide LXEScannerKeysOn CE 4.x Devices API Supported VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 135 ] WINAPI CE API Programming Guide LXEScannerKeyStatus LXEScannerKeyStatus Bool LXEScannerKeyStatus(void); This function returns: True if the scanner wedge is processing data as keystroke messages, or False if the data is being buffered. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes E-SW-WINAPIPG-S [ 136 ] WINAPI CE API Programming Guide LXEScannerKeyStatus CE 4.x Devices API Supported VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 137 ] WINAPI CE API Programming Guide LXEScannerPowerOff LXEScannerPowerOff int LXEScannerPowerOff(void); This function generates a system event which causes the scanner driver to power down all active scanner devices. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 No MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No E-SW-WINAPIPG-S [ 138 ] WINAPI CE API Programming Guide LXEScannerPowerOff CE 4.x Devices API Supported VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 139 ] WINAPI CE API Programming Guide LXEScannerPowerOn LXEScannerPowerOn int LXEScannerPowerOn(void); Note: After making this call, wait one second before attempting a scan. This is necessary to allow scanner power to stabilize before scanning. This function generates a system event which causes the scanner driver to apply power to all active scanner devices. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 No MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes E-SW-WINAPIPG-S [ 140 ] WINAPI CE API Programming Guide LXEScannerPowerOn CE 4.x Devices API Supported VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 141 ] WINAPI CE API Programming Guide LXEScannerForcePower LXEScannerForcePower int LXEScannerForcePower(int port, int val); This function forces the serial port to supply power to a scanner, regardless of the registry setting, or whether this is an active serial port or not. This allows an application to activate a scanner independently from the scanner driver. l Using this call on ports COM1 and COM3 applies or removes 5 volt power to pin 9. l Using this call on the internal scanner powers it off and on. Using this call on any other port returns ERROR_INVALID_PARAMETER. The following values are valid for port: SCANPORT_DISABLED(0) SCANPORT_COM1(1) SCANPORT_COM2(2) SCANPORT_COM3(3) SCANPORT_INTERNAL(4) SCANPORT_RFID(5)CE 4.x and later only SCANPORT_BLUETOOTH(6)CE 5.x and later only The following values are valid for val: 0 no power, pin functions as Ring Indicator (RI) 1 5v power on pin. Note: On an MX3-RFID device, a call with SCANPORT_COM1 returns no error, but has no effect. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No E-SW-WINAPIPG-S [ 142 ] WINAPI CE API Programming Guide LXEScannerForcePower CE 5.x Devices API Supported MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 143 ] WINAPI CE API Programming Guide LXEScannerAttachPort LXEScannerAttachPort int LXEScannerAttachPort(int port, int val); This function changes the wedge port (port) attached to the scanner driver as specified (val) and saves it to the registry. The function then generates the event necessary to cause the driver to reload its registry information so that the new value takes effect immediately. The following values are valid for port: 1 define WEDGEPORT1 2 define WEDGEPORT2 3 define WEDGEPORT3(CE 5.x and later only) The following values are valid for val: SCANPORT_DISABLED(0) SCANPORT_COM1(1) SCANPORT_COM2(2) SCANPORT_COM3(3) SCANPORT_INTERNAL(4) SCANPORT_RFID(5)CE 4.x and later only SCANPORT_BLUETOOTH(6)CE 5.x and later only The possible ports to attach to the scanner driver are indicated above. These can be attached to any of the indicated ports. By default the ports are disabled, unless there is an internal scanner. In that case WEDGEPORT1 is attached to the internal scanner. Note: After making this call, wait two seconds before attempting a scan. This allows the COM ports to be configured. Note: On an MX3-RFID device, a call with WEDGEPORT2 or SCANPORT_COM1 returns no error, but has no effect. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 144 ] WINAPI CE API Programming Guide LXEScannerAttachPort CE 5.x Devices API Supported MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 145 ] WINAPI CE API Programming Guide LXEScannerSetKey LXEScannerSetKey int LXEScannerSetKey(int port, int val); This function changes the action of the scan key specified (port) to the action specified (val) and saves it to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. They following values are valid for key: SCANKEYLEFT(1) SCANKEYRIGHT(2) SCANKEYTRIG(3) Handle trigger The following values are valid for val: SCANKEY_DISABLED(0) SCANKEY_SCAN(1) Internal scanner SCANKEY_ENTER(2) SCANKEY_TAB(3) SCANKEY_VIRTKEY(4) SCANKEY_FLDEXIT(5) CE 4.x and later only SCANKEY_RFID(6) CE 4.x and later only SCANKEY_ESC(7) Only valid for MX5 PPC, MX5X, MX5-IS The SCANKEY_SCAN action is only valid when the internal scanner is enabled, so LXEScannerAttachPort should be called before LXEScannerSetKey. This API returns success if SCANKEY_SCAN is specified as the value for the key action. However, if the key action is set to SCANKEY_DISABLED or remains at the previous setting if none of the wedge ports are set to SCANPORT_INTERNAL (See LXEScannerAttachPort). For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 146 ] WINAPI CE API Programming Guide LXEScannerSetKey CE 5.x Devices API Supported MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 147 ] WINAPI CE API Programming Guide LXEScannerSetSerial LXEScannerSetSerial int LXEScannerSetSerial(int port, int baud, int data, int parity, int stop); This function changes the configuration of the scanner serial port on the indicated port and saves it to the registry. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect immediately. The following values are valid for port: SCANPORT_DISABLED(0) SCANPORT_COM1(1) SCANPORT_COM2(2) SCANPORT_COM3(3) SCANPORT_INTERNAL(4) SCANPORT_RFID(5)CE 4.x and later only SCANPORT_BLUETOOTH(6)CE 5.x and later only Note: This setting has no effect on the serial ports unless they are handled by the scanner driver. Regular serial ports are configured using the standard Win32 API calls. Note: After making this call, wait two seconds before attempting a scan. This allows the COM ports to be configured. Note: On an MX3-RFID device, a call with SCANPORT_COM1 returns no error, but has no effect. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes E-SW-WINAPIPG-S [ 148 ] WINAPI CE API Programming Guide LXEScannerSetSerial CE 5.x Devices API Supported MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 149 ] WINAPI CE API Programming Guide LXEScannerSetPower LXEScannerSetPower int LXEScannerSetPower(int port, int val); This function changes the value of the scanner serial port power pin on the indicated serial port and saves it to the registry. The following values are valid for port: SCANPORT_DISABLED(0) SCANPORT_COM1(1) SCANPORT_COM2(2) SCANPORT-COM3(3) SCANPORT_INTERNAL(4) SCANPORT_RFID(5)CE 4.x and later only SCANPORT_BLUETOOTH(6)CE 5.x and later only The valid options for val are: 0 Power pin is set to ring indicator, or 1 Power pin is set to 5 volts. This function is only valid for COM1 and COM3 serial ports, and returns ERROR_INVALID_PARAMETER for all others. The function then generates the event necessary to cause the driver to reload its registry information, so that the new value takes effect Note: On an MX3-RFID device, a call with SCANPORT_COM1 returns no error, but has no effect. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No E-SW-WINAPIPG-S [ 150 ] WINAPI CE API Programming Guide LXEScannerSetPower CE 5.x Devices API Supported MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 151 ] WINAPI CE API Programming Guide LXEScannerSetWindow LXEScannerSetWindow Important Note: When this function is used during a debug session, it may cause a disconnect of the ActiveSync session. This occurs because the message ID for SCANFULL is the same as ActiveSync disconnect. To prevent the ActiveSync disconnect, an offset value is provided in the registry. The offset value shifts all messages by an offset to prevent the disconnect. The value of the offset is specified in LXEAPI.H by WM_LXE_ ALT_OFFSET. The default offset value is 0x399. To enable the offset, edit the registry on the LXE device and browse to HKEY_LOCAL_ MACHINE\SOFTWARE\LXE\SCANNER. Locate the UseAlternate key and change the value of the key to 1 to use the offset value. The default value for this key is 0 (no offset). Any previously compiled third party application wishing to set UseAlternate must be recompiled with the newer SDK. int LXEScannerSetWindow(HWND window); This function attaches an application window to the scanner driver. When a scan occurs, the scanner driver then sends a Windows message to the application window, indicating that a scan has occurred. The following messages, defined in LXEAPI.H may be sent to the window: WM_LXE_SCANFULL indicates the wedge is done sending keys to the front-most application window. WM_LXE_SCANDONE indicates the scan is complete and the data may be read from the internal scanner buffer using standard Win32 file/device API calls, opening the scanner device. WM_LXE_SCANERR indicates either a configuration error which prevents the scanner from processing data correctly or a failed scan has occurred (timeout, bad data, parse error, invalid symbology, etc.). WM_LXE_RFIDFULL indicates the RFID reader is done sending keys to the front-most application window. WM_LXE_RFIDERR indicates a configuration error which prevents the RFID reader from processing data correctly. There is no message generated on a failed scan. Other messages may be added to this list in the future as new capabilities emerge. This function may be called up to 8 times (16 times on CE 4.x and above). All window handles are sent the message when the events occur. The window handle is tested for validity before sending the message; invalid handles are removed from the list. Thus, the application is not required to clean up the connection. This function is not required under the CE .NET and CE 5.0 operating systems, since Windows messages can be broadcast across the system. When broadcast, the message is only received by the foreground (front-most) window. This API function works for windows which are not front-most. E-SW-WINAPIPG-S [ 152 ] WINAPI CE API Programming Guide LXEScannerSetWindow Control codes specified in the prefix are translated according to the "Translate Control Codes" setting. This may be set via: l the Scanner Control Panel (please refer to the appropriate computer reference guide) l an API (please refer to LXEScannerCtrlCodeOff / LXEScannerCtrlCodeOn, earlier in this section). For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes E-SW-WINAPIPG-S [ 153 ] WINAPI CE API Programming Guide LXEScannerSetWindow CE 4.x Devices API Supported RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 154 ] WINAPI CE API Programming Guide LXEScannerCtrlCodeOff LXEScannerCtrlCodeOff int LXEScannerCtrlCodeOff(void); This function disables processing of ASCII values less than 0x20 (control codes) when scanner data is processed as keystroke messages. The control code data is discarded. This setting is saved in the registry. This function returns: 0 on error, or 1 on success. GetLastError() may be used to get a detailed error message. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 155 ] WINAPI CE API Programming Guide LXEScannerCtrlCodeOff CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 156 ] WINAPI CE API Programming Guide LXEScannerCtrlCodeOn LXEScannerCtrlCodeOn int LXEScannerCtrlCodeOn(void); This function enables processing of ASCII values less than 0x20 (control codes) when scanner data is processed as keystroke messages. The control code data is translated from the ASCII value to its equivalent control key sequence and is sent as keystroke messages just like the printable data. This setting is saved in the registry. This function returns: 0 on error, or 1 on success. GetLastError() may be used to get a detailed error message. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 157 ] WINAPI CE API Programming Guide LXEScannerCtrlCodeOn CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 158 ] WINAPI CE API Programming Guide LXEScannerSymStripLead LXEScannerSymStripLead int LXEScannerSymStripLead(WCHAR *symb, BOOL enable, int count); This function controls stripping of characters from the beginning of barcode data. The values for symb are listed in Symbology Descriptors. This function only operates on the specified symbology. The default value is All (characters are stripped from all barcode symbologies). The values for enable are: True enable stripping of leading characters, or False disable stripping of leading characters. Count specifies the number of character to strip. The maximum number of characters that can be stripped is 99. If the number of characters to be stripped is greater than the number of characters in the barcode, a good beep is sounded but all barcode data is discarded. Note: If this feature is used with any of the add prefix or add suffix features, the leading characters are stripped before the prefix or suffix is added. This setting is saved in the registry. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 159 ] WINAPI CE API Programming Guide LXEScannerSymStripLead CE 5.x Devices API Supported VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 160 ] WINAPI CE API Programming Guide LXEScannerStripLead LXEScannerStripLead LXEScannerStripLead has been deprecated. This function strips characters from all barcode symbologies. The LXEScannerSymStripLead function provides enhanced functionality by operating only on a specified symbology. int LXEScannerStripLead(BOOL enable, int count); This function enables or disables stripping of characters from the beginning of barcode data. The values for enable are: True enable stripping of leading characters, or False disable stripping of leading characters. Count specifies the number of character to strip. The maximum number of characters that can be stripped is 99. If the number of characters to be stripped is greater than the number of characters in the barcode, a good beep is sounded but all barcode data is discarded. Note: If this feature is used with any of the add prefix or add suffix features, the leading characters are stripped before the prefix or suffix is added. This setting is saved in the registry. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes E-SW-WINAPIPG-S [ 161 ] WINAPI CE API Programming Guide LXEScannerStripLead CE 5.x Devices API Supported MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 162 ] WINAPI CE API Programming Guide LXEScannerSymStripTrail LXEScannerSymStripTrail int LXEScannerSymStripTrail(WCHAR *symb, BOOL enable, int count); This function controls stripping of characters from the end of barcode data. The values for symb are listed in Symbology Descriptors. This function only operates on the specified symbology. The default value is All (characters are stripped from all barcode symbologies). The values for enable are: True enable stripping of trailing characters, or False disable stripping of trailing characters. Count specifies the number of character to strip. The maximum number of characters that can be stripped is 99. If the number of characters to be stripped is greater than the number of characters in the barcode, a good beep is sounded but all barcode data is discarded. Note: If this feature is used with any of the add prefix or add suffix features, the trailing characters are stripped before the prefix or suffix is added. This setting is saved in the registry. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 163 ] WINAPI CE API Programming Guide LXEScannerSymStripTrail CE 5.x Devices API Supported VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 164 ] WINAPI CE API Programming Guide LXEScannerStripTrail LXEScannerStripTrail LXEScannerStripTrail has been deprecated. This function strips characters from all barcode symbologies. The LXEScannerSymStripTrail function provides enhanced functionality by operating only on a specified symbology. int LXEScannerStripTrail(BOOL enable, int Count); This function enables or disables stripping of characters from the end of a barcode. The values for enable are: True enable stripping of trailing characters, or False disable stripping of trailing characters. Count specifies the number of character to strip. The maximum number of characters that can be stripped is 99. If the number of characters to be stripped is greater than the number of characters in the barcode, a good beep is sounded but all barcode data is discarded. Note: If this feature is used with any of the add prefix or add suffix features, the ending characters are stripped before the prefix or suffix is added. This setting is saved in the registry. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes E-SW-WINAPIPG-S [ 165 ] WINAPI CE API Programming Guide LXEScannerStripTrail CE 5.x Devices API Supported MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 166 ] WINAPI CE API Programming Guide LXEScannerSymPrefix LXEScannerSymPrefix int LXEScannerSymPrefix(WCHAR *symb, BOOL enable, char *prefix); This function controls adding a prefix to the beginning of barcode data. The values for symb are listed in Symbology Descriptors. This function only operates on the specified symbology. The default value is All (prefix is added to all barcode symbologies). The values for enable are: True enable prefix, or False disable prefix. Prefix is a pointer to a string of ASCII values, which are interpreted (for embedded control codes) and used as the prefix data Note: This setting is saved in the registry. Note: If this feature is used with any of the strip leading or strip trailing features, the characters are stripped before the prefix is added. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes E-SW-WINAPIPG-S [ 167 ] WINAPI CE API Programming Guide LXEScannerSymPrefix CE 5.x Devices API Supported VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 168 ] WINAPI CE API Programming Guide LXEScannerPrefix LXEScannerPrefix LXEScannerPrefix has been deprecated. This function adds the specified prefix to all barcode symbologies. The LXEScannerSymPrefix function provides enhanced functionality by operating only on a specified symbology. int LXEScannerPrefix(BOOL enable, int mode, char *prefix, int prefixSize, char *prefixText); This function enables or disables whether a prefix is added to the beginning of barcode data. Values for enable are: True enable prefix, or False disable prefix. Mode specifies the data mode the prefix is intended for: 1 key mode, or 0 block mode. Note: The mode parameter no longer has any effect. The prefix is added in both key and block mode. Prefix is a pointer to a data array of ASCII values or VK_codes (depending on mode) that is prepended to the barcode data. Up to 19 characters can be specified for the prefix. In Key Mode, the data array must contain two bytes for each VK_code. The first byte is the VK_code and the second byte is the shift state of the VK_code (0 for �not shifted� and 1 for �shifted�). PrefixSize gives the number of bytes in the data array (1 per ASCII value or 2 per VK_code). Note: The prefix and prefix size parameters no longer have any effect. The parameter prefixText is interpreted (for embedded control codes) and used as the prefix data. PrefixText gives the actual ASCII representation of the prefix as entered. Note: This setting is saved in the registry. The characters can be text or control characters, like tab or carriage return. The characters can be entered by typing from the keypad, entering their hex equivalent, or entering in �^� delimited (hat encoded, 8-bit code table) notation. (See Appendix A, �Symbology and Character Codes�, for a listing of hex equivalent and hat encoded characters.) There are two modes in which the prefix is processed, key message or block mode. l l In key message mode (Mode = 1), all keys on the keypad can be entered into the configuration. In this mode, the prefix, barcode, and suffix (if specified, see LXEScannerSuffix) are sent as keystrokes to the application with the focus. In block mode (Mode = 0) ASCII characters (0x0 � 0x7F), plus Backspace, Tab, Delete, Return, and Escape (open issue) can be specified. In this mode, the prefix/suffix data is added to the beginning and end of the buffered barcode data that can then be read by an application from the WDG: device. Control codes specified in the prefix are translated according to the "Translate Control Codes" setting. This may be set via: l the Scanner Control Panel (please refer to the appropriate computer reference guide) l an API (please refer to LXEScannerCtrlCodeOff / LXEScannerCtrlCodeOn). Note: If this feature is used with any of the strip leading or strip trailing features, the characters are stripped before the prefix is added. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. E-SW-WINAPIPG-S [ 169 ] WINAPI CE API Programming Guide LXEScannerPrefix For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 170 ] WINAPI CE API Programming Guide LXEScannerPrefix CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 171 ] WINAPI CE API Programming Guide LXEScannerSymSuffix LXEScannerSymSuffix int LXEScannerSymSuffix(WCHAR *symb, BOOL enable, char *suffix); This function controls adding a suffix to the end of barcode data. The values for symb are listed in Symbology Descriptors. This function only operates on the specified symbology. The default value is All (suffix is added to all barcode symbologies). The values for enable are: True enable suffix, or False disable suffix. Suffix is a pointer to a string of ASCII values, which are interpreted (for embedded control codes) and used as the suffix data Note: This setting is saved in the registry. Note: If this feature is used with any of the strip leading or strip trailing features, the characters are stripped before the prefix is added. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes E-SW-WINAPIPG-S [ 172 ] WINAPI CE API Programming Guide LXEScannerSymSuffix CE 5.x Devices API Supported VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 173 ] WINAPI CE API Programming Guide LXEScannerSuffix LXEScannerSuffix LXEScannerSuffix has been deprecated. This function adds the suffix to all barcode symbologies. The LXEScannerSymSuffix function provides enhanced functionality by operating only on a specified symbology. int LXEScannerSuffix(BOOL enable, int mode, char *suffix, int suffixSize, char *suffixText); This function enables or disables whether a suffix is added to the end of barcode data. Values for enable are: True enable prefix, or False disable prefix. Mode specifies the data mode the prefix is intended for: 1 key mode, or 0 block mode. Note: The mode parameter no longer has any effect. The suffix is added in both key and block mode. Suffix is a pointer to a data array of ASCII values or VK_codes (depending on mode) that is prepended to the barcode data. Up to 19 characters can be specified for the prefix. In Key Mode, the data array must contain two bytes for each VK_code. The first byte is the VK_code and the second byte is the shift state of the VK_code (0 for “not shifted” and 1 for “shifted”). SuffixSize gives the number of bytes in the data array (1 per ASCII value or 2 per VK_code). Note: The suffix and suffix size parameters no longer have any effect. The parameter suffixText is interpreted (for embedded control codes) and used as the prefix data. SuffixText gives the actual ASCII representation of the suffix as entered. Note: This setting is saved in the registry. The characters can be text or control characters, like tab or carriage return. The characters can be entered by typing from the keypad, entering their hex equivalent, or entering in ‘^’ delimited (hat encoded, 8-bit code table) notation. (See Appendix A, “Character Code Tables”, for a listing of hex equivalent and hat encoded characters.) There are two modes in which the suffix is processed, key message or block mode. l l In key message mode (Mode = 1), all keys on the keypad can be entered into the configuration. In this mode, the prefix (if specified, see LXEScannerPrefix), barcode, and suffix are sent as keystrokes to the application with the focus. In block mode (Mode = 0) ASCII characters (0x0 – 0x7F), plus Backspace, Tab, Delete, Return, and Escape (open issue) can be specified. In this mode, the prefix/suffix data is added to the beginning and end of the buffered barcode data that can then be read by an application from the WDG: device. Control codes specified in the suffix are translated according to the “Translate Control Codes” setting. This may be set via: l the Scanner Control Panel (please refer to the appropriate computer reference guide) l an API (please refer to LXEScannerCtrlCodeOff / LXEScannerCtrlCodeOn). If this feature is used with the StripLead or StripTrail features, the characters are stripped before the suffix is added. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. E-SW-WINAPIPG-S [ 174 ] WINAPI CE API Programming Guide LXEScannerSuffix For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 175 ] WINAPI CE API Programming Guide LXEScannerSymEnable LXEScannerSymEnable int LXEScannerSymEnable(WCHAR *symb, BOOL enable); This function enables or disables a specified symbology for the attached scanner. This function uses the code ID sent by the scanner as part of the incoming barcode data. This allows this function to work with both internal and external (tethered) scanners. The values for symb are listed in Symbology Descriptors. The default value is All (all barcode symbologies are enabled/disabled). Values for enable are: True enable symbology, or False disable symbology. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 176 ] WINAPI CE API Programming Guide LXEScannerSymEnable CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 177 ] WINAPI CE API Programming Guide LXEScannerOption LXEScannerOption LXEScannerOption has been deprecated. This function only works for devices with internal scanners. The LXEScannerSymEnable function provides enhanced functionality by operating with both internal and external (tethered) scanners. int LXEScannerOption(int option, DWORD code1, DWORD code2, int enable); This function enables or disables symbology options for the internal scanner by sending a command to the scanner to enable or disable the particular code symbology. Note: After calling LXEScannerOption, wait at least one second before attempting to scan a bar code. This time is needed to allow communication with the internal scanner to be completed. Values for option are: SCAN_CODE_ENAB enable/disable individual symbology, or SCAN_AIMID enable/disable Symbol aim ID parsing. Values for enable are: 1 enable symbology, or 0 disable symbology. code1 and code2 specify bitmaps of symbologies, as specified in LXEAPI.H. Please refer to Symbology Values. Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes E-SW-WINAPIPG-S [ 178 ] WINAPI CE API Programming Guide LXEScannerOption CE 5.x Devices API Supported MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 179 ] WINAPI CE API Programming Guide LXEScannerHasOption LXEScannerHasOption LXEScannerHasOption has been deprecated. int LXEScannerHasOption(int option, DWORD *code1, DWORD *code2); Note: This function no longer has any effect and returns ERROR_NOT_IMPLEMENTED. This function returns the set of symbologies available for the installed scanner. Values for option are: SCAN_CODE_ENAB list of symbologies that support enable/disable, or SCAN_AIMID list of symbologies that support Symbol aim ID parsing (no longer supported) code1 and code2 specify bitmaps of symbologies, as specified in LXEAPI.H. Please refer to Symbology Values. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 180 ] WINAPI CE API Programming Guide LXEScannerHasOption CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 181 ] WINAPI CE API Programming Guide LXEScannerSymIsEnabled LXEScannerSymIsEnabled int LXEScannerSymIsEnabled(WCHAR *symb, BOOL *enable); This function returns the current enable state of the parsing engine for the specified symbology. The values for symb are listed in Symbology Descriptors. The default value is All (all barcode symbologies are enabled/disabled). Values for enable are: True enable symbology, or False disable symbology. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 182 ] WINAPI CE API Programming Guide LXEScannerSymIsEnabled CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 183 ] WINAPI CE API Programming Guide LXEScannerIsOptionEnabled LXEScannerIsOptionEnabled LXEScannerIsOptionEnabled has been deprecated. This function only works for devices with internal scanners. The LXEScannerSymEnable function provides enhanced functionality by operating with both internal and external (tethered) scanners. int LXEScannerIsOptionEnabled(int option, DWORD code1, DWORD code2); This function returns: 1 given symbology is currently enabled, or 0 given symbology is currently disabled. This information is read from the registry. It was stored in the registry by the scanner driver. Values for option are: SCAN_CODE_ENAB check enable/disable for individual symbology SCAN_AIMID check enable/disable for Symbol aim ID parsing (no longer supported) code1 and code2 specify bitmaps of symbologies, as specified in LXEAPI.H. Please refer to Symbology Values. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 184 ] WINAPI CE API Programming Guide LXEScannerIsOptionEnabled CE 5.x Devices API Supported VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 185 ] WINAPI CE API Programming Guide LXEScannerGetParam LXEScannerGetParam int LXEScannerGetParam(int parm, int *value, int flags); This function gets the value of a hardware specific parameter directly from the scanner hardware. The parameter number is passed in parm and the current value is returned in value. The flags parameter is intended to provide some error checking. The defined values are: FLAGS_SYMBOL = 1 parameter is defined for Symbol scanners FLAGS_IMAGER = 2 parameter is defined for Intermec images If flags is set to 0, this error checking is not performed. The parameters and possible values are defined by the scanner datasheet. This function only works on internal scanners and returns an error if called with an external (tethered) scanner enabled. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 186 ] WINAPI CE API Programming Guide LXEScannerGetParam CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 187 ] WINAPI CE API Programming Guide LXEScannerSetParam LXEScannerSetParam int LXEScannerSetParam(int parm, int value, int flags); This function sets the value of a hardware specific parameter directly from the scanner hardware. The parameter number is passed in parm and the current value is returned in value. The flags parameter is intended to provide some error checking. The defined values are: FLAGS_SYMBOL = 1 parameter is defined for Symbol scanners FLAGS_IMAGER = 2 parameter is defined for Intermec images If flags is set to 0, this error checking is not performed. The parameters and possible values are defined by the scanner datasheet. This function only works on internal scanners and returns an error if called with an external (tethered) scanner enabled. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 188 ] WINAPI CE API Programming Guide LXEScannerSetParam CE 5.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 189 ] WINAPI CE API Programming Guide LXEScannerSymGetConfig LXEScannerSymGetConfig int LXEScannerSymGetConfig(SCAN_SYMBOLOGY *dat); This function gets all of the parameters for the desired symbology. The symbology name must be in the name field of the dat parameter. Valid entries are listed in Symbology Descriptors. The default value is All (all barcode symbologies are enabled/disabled). The parameter block structure pointed to by dat is defined in LXAPI.H as follows: typedef struct { WCHAR name[32];// symbology name (used as registry subkey) DWORD codenab;// 1=symbology enabled (default=1) DWORD minlen;// minimum acceptable length (default=1) DWORD maxlen;// maximum acceptable length (default=9999) DWORD striplead;// 1=strip leading chars (default=0) DWORD leadval;// # of leading chars to strip DWORD striptrail;// 1=strip trailing chars (default=0) DWORD trailval;// # of trailing chars to strip DWORD stripid;// 1=strip code ID (if any) (default=0) DWORD useprefix;// 1=add prefix to barcode data (default=0) DWORD usesuffix;// 1=add prefix to barcode data (default=0) WCHAR prefix[64];// prefix chars to add WCHAR suffix[64];// suffix chars to add} SCAN_SYMBOLOGY; WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 190 ] WINAPI CE API Programming Guide LXEScannerSymGetConfig CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 191 ] WINAPI CE API Programming Guide LXEScannerSymSetConfig LXEScannerSymSetConfig int LXEScannerSymSetConfig(WCHAR *symb, SCAN_SYMBOLOGY *dat); This function sets all of the parameters for the desired symbology. The symbology name must be in the name field of the dat parameter. Valid entries are listed in Symbology Descriptors. The default value is All (all barcode symbologies are enabled/disabled). The parameter block structure pointed to by dat is defined in LXAPI.H as follows: typedef struct { WCHAR name[32];// symbology name (used as registry subkey) DWORD codenab;// 1=symbology enabled (default=1) DWORD minlen;// minimum acceptable length (default=1) DWORD maxlen;// maximum acceptable length (default=9999) DWORD striplead;// 1=strip leading chars (default=0) DWORD leadval;// # of leading chars to strip DWORD striptrail;// 1=strip trailing chars (default=0) DWORD trailval;// # of trailing chars to strip DWORD stripid;// 1=strip code ID (if any) (default=0) DWORD useprefix;// 1=add prefix to barcode data (default=0) DWORD usesuffix;// 1=add prefix to barcode data (default=0) WCHAR prefix[64];// prefix chars to add WCHAR suffix[64];// suffix chars to add } SCAN_SYMBOLOGY; Please see LXEScannerSymRemove for important information on resetting scanner parameter values to defaults. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes E-SW-WINAPIPG-S [ 192 ] WINAPI CE API Programming Guide LXEScannerSymSetConfig CE 5.x Devices API Supported MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 193 ] WINAPI CE API Programming Guide LXEScannerSymRemove LXEScannerSymRemove int LXEScannerSymRemove(WCHAR *symb); This function removes modified settings and thus restores the default values for the specified symbology. This function should be used with caution because it can remove a lot of customized configuration information. The values for symb are listed in Symbology Descriptors. The default value is All. This API clears parameters set with the following APIs: LXEScannerSymStripLead, LXEScannerStripLead, LXEScannerSymStripTrail, LXEScannerStripTrail, LXEScannerSymPrefix, LXEScannerPrefix, LXEScannerSymSuffix, LXEScannerSuffix, LXEScannerSymEnable, LXEScannerOption and LXEScannerSymSetConfig. Important notes when using LXEScannerSymRemove: l l When All is selected for the symbology with LXEScannerSymRemove, the only parameters that are changed are those that were set by calling any of the above listed APIs with symb = All. Any parameters set with these APIs for a specific symbology are only cleared when LXEScannerSymRemove is called with that specific symbology. For the MX8 and MX9: This API is implemented in the DCWedge driver. Previously the scanner APIs were included in the LXEAPI.dll file. This API may be called on these devices by an existing application that references only LXEAPI because LXEAPI provides an interface between the application and the DCWedge driver. For all other devices: This API is implemented in the LXEAPI.dll file for all devices except the MX8 and MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes E-SW-WINAPIPG-S [ 194 ] WINAPI CE API Programming Guide LXEScannerSymRemove CE 5.x Devices API Supported VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 195 ] WINAPI CE API Programming Guide Version Control API Calls API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. E-SW-WINAPIPG-S [ 196 ] WINAPI CE API Programming Guide LXEVersionOS LXEVersionOS int LXEVersionOS(char *str); Note: char *str represents an ASCII string. This function returns the version number and patch information of the Windows CE OS and formats the number into a string with the following format: Windows CE n.n build nnn patched through mm/dd/yy The space for this string may be allocated using the global value from LXEAPI.H, as follows: char VersionString[VERSION_STRSIZE] WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes E-SW-WINAPIPG-S [ 197 ] WINAPI CE API Programming Guide LXEVersionOS CE 4.x Devices API Supported RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 198 ] WINAPI CE API Programming Guide LXEVersionOAL LXEVersionOAL int LXEVersionOAL(char *str); Note: char *str represents an ASCII string. This function returns the version number of the OAL code and OS image and formats the number into a string with the following format: MX3X GNumber XScale PXA255 04/01/2006 12:35 The date and time specified are the actual date and time that the OAL was compiled. The space for this string may be allocated using the global value from LXEAPI.H, as follows: char VersionString[VERSION_STRSIZE] WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes E-SW-WINAPIPG-S [ 199 ] WINAPI CE API Programming Guide LXEVersionOAL CE 4.x Devices API Supported VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 200 ] WINAPI CE API Programming Guide LXEVersionBoot LXEVersionBoot int LXEVersionBoot(char *str); Note: char *str represents an ASCII string. This function returns the version number of the bootloader code and formats the number into a string with the following format: MX3X Gnumber Xscale PXA255 04/01/2006 12:35 The date and time specified are the actual date and time that the bootloader was compiled. The space for this string may be allocated using the global value from LXEAPI.H, as follows: char VersionString[VERSION_STRSIZE] WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes E-SW-WINAPIPG-S [ 201 ] WINAPI CE API Programming Guide LXEVersionBoot CE 4.x Devices API Supported RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 202 ] WINAPI CE API Programming Guide LXEVersionFPGA LXEVersionFPGA int LXEVersionFPGA(char *str); Note: char *str represents an ASCII string. This function returns the version number of the FPGA code and formats the number into a string with the flowing format: FPGA rev nn The space for this string may be allocated using the global value from LXEAPI.H, as follows: char VersionString[VERSION_STRSIZE] WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 203 ] WINAPI CE API Programming Guide LXEVersionFPGA CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 204 ] WINAPI CE API Programming Guide LXEVersionAPI LXEVersionAPI int LXEVersionAPI(char *str); Note: char *str represents an ASCII string. This function returns the version number of the API library and formats the number into a string with the following format: MX3-CE x.x.x Xscale PXA255 04/01/2006 12:35 The date and time specified are the actual date and time that the API was compiled. The space for this string may be allocated using the global value from LXEAPI.H, as follows: char VersionString[VERSION_STRSIZE] WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 205 ] WINAPI CE API Programming Guide LXEVersionAPI CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 206 ] WINAPI CE API Programming Guide LXEVersionSerial LXEVersionSerial int LXEVersionSerial(char *str); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. Note: char *str represents an ASCII string. This function returns the serial number of the device,(up to 32 alphanumeric characters). The serial number is input by the manufacturer at assembly time and is a different number than the UUID. This function returns a string like: ABC01234567 The date and time specified are the actual date and time that the API was compiled. The space for this string may be allocated using the global value from LXEAPI.H, as follows: char VersionString[VERSION_STRSIZE] WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A E-SW-WINAPIPG-S [ 207 ] WINAPI CE API Programming Guide LXEVersionSerial CE 4.x Devices API Supported VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 208 ] WINAPI CE API Programming Guide LXEInfoCopyright LXEInfoCopyright int LXEInfoCopyright(WCHAR *str, int len); This function returns the image build copyright as a Unicode string. The space for this string may be allocated using the global value from LXEAPI.H, as follows: WCHAR CopyrightString[COPYRIGHT_STRSIZE] WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 209 ] WINAPI CE API Programming Guide LXEInfoCopyright CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 210 ] WINAPI CE API Programming Guide LXEInfoGetCodecInfo LXEInfoGetCodecInfo int LXEInfoGetCodecInfo(char *str) Note: char *str represents an ASCII string. This function returns information about the hardware codec, formatted into a string as follows: "1004 = UCB1200" Where: l 1004 is the hardware code returned, and l UCB1200 is the text interpretation of this code. Other devices return: "WM9705" or "WM9713" to specify the newer codecs. The space for this string may be allocated using the global values from LXEAPI.H, as follows: char InfoString[VERSION_STRSIZE]; WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes E-SW-WINAPIPG-S [ 211 ] WINAPI CE API Programming Guide LXEInfoGetCodecInfo CE 4.x Devices API Supported MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 212 ] WINAPI CE API Programming Guide LXEInfoGetCPUInfo LXEInfoGetCPUInfo int LXEInfoGetCPUInfo(char *str) Note: char *str represents an ASCII string. This function returns information about the hardware codec, formatted into a string as follows: 2577 [8] = SA1110 B4 206 MHz (jumper=206) Where: l the first number is the type code of the CPU (2577=SA1110), l the second number in brackets is the revision of the CPU (8 = rev B4 of StrongARM CPU), l the speed is read from the CPU registers, l and the jumper number represents the position of the onboard speed jumper. The XScale CPU returns a sting as follows: XSCALE PXA255 rev A1 400 MHz Where the speed is read and parsed directly from the CPU speed register. An unrecognized CPU type returns the string: typ = nn rev=nn An unrecognized CPU is not expected to run properly. The space for this string may be allocated using the global values from LXEAPI.H, as follows: char InfoString[VERSION_STRSIZE]; WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes E-SW-WINAPIPG-S [ 213 ] WINAPI CE API Programming Guide LXEInfoGetCPUInfo CE 5.x Devices API Supported VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 214 ] WINAPI CE API Programming Guide LXEInfoROMID LXEInfoROMID int LXEInfoROMID(char *str); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. Note: char *str represents an ASCII string. This function returns information about the Flash memory, as parsed directly from the flash chip, in a string as follows: <mfg> <device ID> <boot (top or bottom)> For example, ST bottom boot (0020 225B) or AMD M29W800AB bottom boot (0001 005B) WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes E-SW-WINAPIPG-S [ 215 ] WINAPI CE API Programming Guide LXEInfoROMID CE 4.x Devices API Supported VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 216 ] WINAPI CE API Programming Guide LXEInfoRAMID LXEInfoRAMID int LXEInfoRAMID(char *str); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. Note: char *str represents an ASCII string. This API is not supported as none of the LXE computers above currently use SIMM DRAMs. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET No VX3X CE.NET No VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET No E-SW-WINAPIPG-S [ 217 ] WINAPI CE API Programming Guide LXEInfoRAMID CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 218 ] WINAPI CE API Programming Guide LXEInfoGetROMInfo LXEInfoGetROMInfo int LXEInfoGetROMInfo(ROMINFO *rtn); typedef struct { unsigned long BlockSize; unsigned long BlockCount; unsigned long BusWidth; unsigned long BaseAddress; unsigned long TotalSize; unsigned long BootloaderBase; unsigned long BootloaderSize; unsigned long OsBase; unsigned long OsSize; unsigned long RegistryBase; unsigned long RegistrySize; unsigned long FileSysBase; unsigned long FileSysSize; } ROMINFO; This function returns information about the ROM (flash memory) in the system in the data block specified. Because this information is established at image compile time, these values do not change. BlockSize is the minimum erasable block size in bytes. This is a function of the flash chip hardware. This is the value of the chip erase block times the number of chips in the array. BlockCount is the total number of BlockSize blocks in all of the flash devices. BusWidth returns the flash bus width, in bits. This is normally 32. BaseAddress is the memory address in mapped kernel space where the flash memory starts. TotalSize is the total number of bytes of flash ROM in the computer. This is BlockSize times BlockCount. BootloaderBase and BootloaderSize return the base address and allocated size for the bootloader partition of flash. OsBase and OsSize return the base address and allocated size for the operating system image partition of flash. These values are empty for XScale boot flash systems. RegistryBase and RegistrySize return the base address and allocated size for the Persistent Memory registry configuration backup partition. These values are empty for XScale boot flash systems. FileSysBase and FileSysSize return the base address and allocated size for the Persistent Memory flash file system partition. These values are empty for XScale boot flash systems. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 219 ] WINAPI CE API Programming Guide LXEInfoGetROMInfo CE 5.x Devices API Supported MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 220 ] WINAPI CE API Programming Guide LXEInfoGetRAMInfo LXEInfoGetRAMInfo int LXEInfoGetRAMInfo(RAMINFO *rtn); typedef struct { unsigned long BaseAddress; unsigned long TotalSize; unsigned long StorageSize; unsigned long StorageFree; unsigned long ProgramSize; unsigned long ProgramFree; unsigned long PagefileSize; unsigned long PagefileFree; unsigned long VirtualSize; unsigned long VirtualFree; } RAMINFO; This function returns information about the RAM in the system in the data block specified. Because this information is read using standard Win32 APIs, it represents the state of the system at the moment the API call is made. Note: This represents the total of all RAM in the system, when there is more than one RAM device or type of RAM. BaseAddress is the memory address in mapped kernel space where the RAM starts. This does not change. TotalSize is the total detected RAM in the computer. This is the sum of StorageSize and ProgramSize. StorageSize and StorageFree return the total size and bytes free values for storage memory. This is set as a proportion of physical RAM by the System control panel. ProgramSize and ProgramFree return the total size and bytes free values for program memory. This is set as a proportion of physical RAM by the System control panel. PagefileSize and PagefileFree return the total size and bytes free values for memory. In a computer equipped with Windows CE, these should be 0. VirtualSize and VirtualFree return the total size and bytes free values for virtual memory. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes E-SW-WINAPIPG-S [ 221 ] WINAPI CE API Programming Guide LXEInfoGetRAMInfo CE 5.x Devices API Supported MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 222 ] WINAPI CE API Programming Guide LXEInfoGetUUID LXEInfoGetUUID int LXEInfoGetUUID(char *str); Note: char *str represents an ASCII string. This function reads the UUID (Universal Unit Identifier) out of global memory and formats the number into a string of a generic format as follows: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX The space for this string may be allocated using the global value from LXEAPI.H, as follows: Char UUIDString[GUID_STRSIZE] WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes E-SW-WINAPIPG-S [ 223 ] WINAPI CE API Programming Guide LXEInfoGetUUID CE 4.x Devices API Supported RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC No E-SW-WINAPIPG-S [ 224 ] WINAPI CE API Programming Guide Display API Calls API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. E-SW-WINAPIPG-S [ 225 ] WINAPI CE API Programming Guide LXEHasColorLCD LXEHasColorLCD int LXEHasColorLCD(void); Note: For computers equipped with an active color (TFT) display, this API returns: Note: 2 for all computers except VX4 CE .NET Note: 4 for VX4 CE .NET. This function allows an application to test for a color display. This usually is not necessary in most applications, but may provide enhancements on a color terminal. The possible return codes are: DISPLAY_MONO(0) DISPLAY_COLOR_TRANSFLECT(1) DISPLAY_COLOR_ACTIVE(2) TFT display DISPLAY_COLOR_TRANSMISS(3) DISPLAY_COLOR_ACTIVE(4) VX4 only DISPLAY_INVALID(-1) Because monochrome display is zero, the test can be simple to avoid the (probably unnecessary) need to parse for color display type: if (!LXEHasColorLCD()) // process as monochrome else // process as color to avoid the need to parse for color display type in most applications. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 226 ] WINAPI CE API Programming Guide LXEHasColorLCD CE 5.x Devices API Supported VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET Yes VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 227 ] WINAPI CE API Programming Guide LXEShowTaskbar LXEShowTaskbar void LXEShowTaskbar(int flag) This API provides a convenient function to show or hide the taskbar, similar to PocketPC. Flag is SW_SHOW, or SW_HIDE. like the standard Win32 API call ShowWindow(). SW__IDE must occur before main application window is created (right after RegisterClass(), or similar) SW_SHOW should happen right before PostQuitMessage(). Note: RegisterClass() and PostQuitMessage() are standard Win32 API calls. For more information on these API calls, please refer to Microsoft documentation, such as that available on Microsoft.com. On CE 4.x and later devices, this API is made obsolete by the standard API calls in the AYGSHELL component. However, this function is still present and supported. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No E-SW-WINAPIPG-S [ 228 ] WINAPI CE API Programming Guide LXEShowTaskbar CE 4.x Devices API Supported VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC No MX6 PPC No E-SW-WINAPIPG-S [ 229 ] WINAPI CE API Programming Guide LXEGetContrast LXEGetContrast int LXEGetContrast(int *val) Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This API provides a convenient function to wrap the ExtEscape() call to the display driver. This function returns the current contrast setting from the display driver in val. Note that this is the actual contrast at that moment, not a registry value, so it is independent of battery or AC power. This is a value from 0 (lowest) to 31 (highest). Note: ExtEscape() is a standard Win32 API call. For more information on this API call, please refer to Microsoft documentation, such as that available on Microsoft.com. Note: As implemented on some devices, this call succeeds but has no effect. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No E-SW-WINAPIPG-S [ 230 ] WINAPI CE API Programming Guide LXEGetContrast CE 4.x Devices API Supported VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 231 ] WINAPI CE API Programming Guide LXESetContrast LXESetContrast int LXESetContrast(int val) Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This API provides a convenient function to wrap the ExtEscape() call to the display driver. Contrast is set to the value in val, which is a value from 0 (lowest) to 31 (highest). Note that this is the contrast at that moment, not a registry value, so it is independent of battery or AC power. Note: ExtEscape() is a standard Win32 API call. For more information on this API call, please refer to Microsoft documentation, such as that available on Microsoft.com. Note: As implemented on some devices, this call succeeds but has no effect. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 No MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No E-SW-WINAPIPG-S [ 232 ] WINAPI CE API Programming Guide LXESetContrast CE 4.x Devices API Supported VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 233 ] WINAPI CE API Programming Guide LXEGetBrightness LXEGetBrightness int LXEGetBrightness(int *val) Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This API provides a convenient function to wrap proprietary extensions to the ExtEscape() call to the display driver. Current backlight brightness setting is returned in val, which is a percentage from 0 (off) to 100 (full on). Note that this is the actual brightness at that moment, not a registry value, so it is independent of battery or AC power. Note: ExtEscape() is a standard Win32 API call. For more information on this API call, please refer to Microsoft documentation, such as that available on Microsoft.com. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 No VX7 CE 5.0 No CE 5.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No VX7 CE.NET No RX2 CE.NET Yes E-SW-WINAPIPG-S [ 234 ] WINAPI CE API Programming Guide LXEGetBrightness CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 235 ] WINAPI CE API Programming Guide LXESetBrightness LXESetBrightness int LXESetBrightness(int val) Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This API provides a convenient function to wrap proprietary extensions to the ExtEscape() call to the display driver. Backlight brightness is set to the value in val, which is a percentage from 0 (off) to 100 (full on). Note that this is the actual brightness at that moment, not a registry value, so it is independent of battery or AC power. Note: On some older devices such as an older MX3X, values less than 20% have little if any visible effect. On some other devices, this call succeeds but has no effect. Note: ExtEscape() is a standard Win32 API call. For more information on this API call, please refer to Microsoft documentation, such as that available on Microsoft.com. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET No E-SW-WINAPIPG-S [ 236 ] WINAPI CE API Programming Guide LXESetBrightness CE 4.x Devices API Supported VX7 CE.NET No RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 237 ] WINAPI CE API Programming Guide LXESetBacklightOn LXESetBacklightOn int LXESetBacklightOn(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the backlight off if val = 0, or on if val = 1. This setting is *NOT* saved in the registry. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 238 ] WINAPI CE API Programming Guide LXESetBacklightOn CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 239 ] WINAPI CE API Programming Guide LXEGetBacklightOn LXEGetBacklightOn int LXEGetBacklightOn(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the backlight state in val: 0 if off, 1 if on. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 240 ] WINAPI CE API Programming Guide LXEGetBacklightOn CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 241 ] WINAPI CE API Programming Guide LXEIsBacklightOn LXEIsBacklightOn int LXEIsBacklightOn(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns 0 if the backlight is off, or 1 if the backlight is on. It is a variant of the previous API, for different applications. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 242 ] WINAPI CE API Programming Guide LXEIsBacklightOn CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 243 ] WINAPI CE API Programming Guide LXESetDisplayOn LXESetDisplayOn int LXESetDisplayOn(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the display off if val = 0, or on if val = 1. This setting is *NOT* saved in the registry. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 244 ] WINAPI CE API Programming Guide LXESetDisplayOn CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 245 ] WINAPI CE API Programming Guide LXEGetDisplayOn LXEGetDisplayOn int LXEGetDisplayOn(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the display state in val: 0 if off, 1 if on. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 246 ] WINAPI CE API Programming Guide LXEGetDisplayOn CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 247 ] WINAPI CE API Programming Guide LXEIsDisplayOn LXEIsDisplayOn int LXEIsDisplayOn(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns 0 if the display is off, or 1 if the display is on. It is a variant of LXEGetDisplayOn(), for different applications. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 248 ] WINAPI CE API Programming Guide LXEIsDisplayOn CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 249 ] WINAPI CE API Programming Guide LXESetVibration LXESetVibration int LXESetVibration(int timems); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function activates the internal vibration motor for the period timems (in milliseconds). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET No VX3X CE.NET No VX4 CE.NET N/A VX6 CE.NET No VX7 CE.NET No RX2 CE.NET No E-SW-WINAPIPG-S [ 250 ] WINAPI CE API Programming Guide LXESetVibration CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 251 ] WINAPI CE API Programming Guide LXESetTouch LXESetTouch int LXESetTouch(int mode, int perm); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function turns on and off the codec touch screen I/O. This function physically turns off the touch screen A/D driver. This allows for more noise free playback of audio if the user happens to touch the touch screen while audio is playing. Values for mode are: 0 Touchscreen Off, or 1 Touchscreen On. Values for perm are: 0 Off, the change is temporary and lost after a warmboot, or 1 On, the change is permanent across a warmboot. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 No MX3X CE 5.0 No MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 No VX3X CE 5.0 No VX6 CE 5.0 No VX7 CE 5.0 No CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET No MX5X & MX5-IS CE.NET No VX3X CE.NET No E-SW-WINAPIPG-S [ 252 ] WINAPI CE API Programming Guide LXESetTouch CE 4.x Devices API Supported VX4 CE.NET N/A VX6 CE.NET No VX7 CE.NET No RX2 CE.NET No CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 253 ] WINAPI CE API Programming Guide LXESetHX3AlphaMode LXESetHX3AlphaMode int LXESetHX3AlphaMode(int mode); This function controls the operation of the Alpha (Yellow) LED. Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. Values for mode are: 0 disabled (user can define LED operation, or 1 enabled (system defined LED operation to indicate WiFi connection with IP address). WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 Yes MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 254 ] WINAPI CE API Programming Guide LXESetHX3AlphaMode CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 255 ] WINAPI CE API Programming Guide LXESetHX3AlphaLED LXESetHX3AlphaLED int LXESetHX3AlphaLED(int mode); This function controls the operation of the Alpha (Yellow) LED. Values for mode are: 0 Off, or 1 On. This function only works if the LXESetHX3AlphaMode() function has been called with mode = 0. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 Yes MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 256 ] WINAPI CE API Programming Guide LXESetHX3AlphaLED CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 257 ] WINAPI CE API Programming Guide Audio API Calls Each audio function has four associated API functions: l Get returns the current value l Set temporarily sets the current value l Save saves the current value permanently by saving it into the registry l Load loads the registry value into the driver so the application does not need to remember the original value. API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. E-SW-WINAPIPG-S [ 258 ] WINAPI CE API Programming Guide LXEAudioGetGain LXEAudioGetGain int LXEAudioGetGain(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current record gain from the audio driver in the variable val, which can range from 0 (0 db gain) to 225 (22.5 db gain) in 1.5 db increments (limited by the codec resolution). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 259 ] WINAPI CE API Programming Guide LXEAudioGetGain CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 260 ] WINAPI CE API Programming Guide LXEAudioSetGain LXEAudioSetGain int LXEAudioSetGain(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the record gain from the audio driver to the value passed in the variable val, which can range from 0 (0 db gain) to 225 (22.5 db gain) in 1.5 db increments (limited by the codec resolution). Note: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveGain(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 261 ] WINAPI CE API Programming Guide LXEAudioSetGain CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 262 ] WINAPI CE API Programming Guide LXEAudioLoadGain LXEAudioLoadGain int LXEAudioLoadGain(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads the record gain value from the registry into internal variables in the audio driver. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 263 ] WINAPI CE API Programming Guide LXEAudioLoadGain CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 264 ] WINAPI CE API Programming Guide LXEAudioSaveGain LXEAudioSaveGain int LXEAudioSaveGain(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current record gain from the audio driver to the registry. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 265 ] WINAPI CE API Programming Guide LXEAudioSaveGain CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 266 ] WINAPI CE API Programming Guide LXEAudioGetBoost LXEAudioGetBoost int LXEAudioGetBoost(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current setting of the record gain boost from the audio driver in the variable val. For X-Scale platform devices such as the HX2, HX3, all MX3 devices, MX7, MX8, all VX3 devices, VX6 and VX7, the value is: For Monahans platform devices such as the MX9, the value is: WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET N/A VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 267 ] WINAPI CE API Programming Guide LXEAudioGetBoost CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 268 ] WINAPI CE API Programming Guide LXEAudioSetBoost LXEAudioSetBoost int LXEAudioSetBoost(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the +20 dB record gain boost to the value passed in the variable val. For X-Scale platform devices such as the HX2, HX3, all MX3 devices, MX7, MX8, all VX3 devices, VX6 and VX7, the values are: For Monahans platform devices such as the MX9, the values are: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveBoost(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET N/A VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 269 ] WINAPI CE API Programming Guide LXEAudioSetBoost CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 270 ] WINAPI CE API Programming Guide LXEAudioLoadBoost LXEAudioLoadBoost int LXEAudioLoadBoost(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads the boost setting from the registry into the audio driver. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET N/A VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 271 ] WINAPI CE API Programming Guide LXEAudioLoadBoost CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 272 ] WINAPI CE API Programming Guide LXEAudioSaveBoost LXEAudioSaveBoost int LXEAudioSaveBoost(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current boost setting from the audio driver to the registry. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET N/A VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 273 ] WINAPI CE API Programming Guide LXEAudioSaveBoost CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 274 ] WINAPI CE API Programming Guide LXEAudioGetVolume LXEAudioGetVolume int LXEAudioGetVolume(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current Windows output volume for .WAV sounds from the audio driver in the variable val, which can range from 0 (lowest volume) to 15 (highest volume). This function is different from master volume. Master volume affects sidetones and Bluetooth audio which this output volume control does not affect. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 275 ] WINAPI CE API Programming Guide LXEAudioGetVolume CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 276 ] WINAPI CE API Programming Guide LXEAudioSetVolume LXEAudioSetVolume int LXEAudioSetVolume(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the Windows output volume for .WAV to the value passed in val, which can range from 0 (lowest volume) to 15 (highest volume). This function is different from master volume. Master volume affects sidetones and Bluetooth audio which this output volume control does not affect. Note: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveVolume(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes E-SW-WINAPIPG-S [ 277 ] WINAPI CE API Programming Guide LXEAudioSetVolume CE 4.x Devices API Supported RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 278 ] WINAPI CE API Programming Guide LXEAudioLoadVolume LXEAudioLoadVolume int LXEAudioLoadVolume(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads and activates the current Windows output volume for .WAV sounds from the registry into the audio driver. This function is different from master volume. Master volume affects sidetones and Bluetooth audio which this output volume control does not affect. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 279 ] WINAPI CE API Programming Guide LXEAudioLoadVolume CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 280 ] WINAPI CE API Programming Guide LXEAudioSaveVolume LXEAudioSaveVolume int LXEAudioSaveVolume(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current Windows output volume for .WAV sounds from the audio driver to the registry. This function is different from master volume. Master volume affects sidetones and Bluetooth audio which this volume control does not affect. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 281 ] WINAPI CE API Programming Guide LXEAudioSaveVolume CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 282 ] WINAPI CE API Programming Guide LXEAudioGetMasterVolume LXEAudioGetMasterVolume int LXEAudioGetMasterVolume(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the master volume for .WAV sounds from the audio driver in the variable val, which can range from 0 (0 dB attenuation) to 31 (-46.5 dB attenuation). This function is different from output volume. Master volume affects sidetones and Bluetooth audio which the output volume control does not affect. For devices such as the HX2, HX3, all MX3 devices, MX7, MX8, all VX3 devices, VX6 and VX7, this setting corresponds to the Master Volume setting in the Mixer control panel. For the MX9, this setting corresponds to the Speaker Volume setting in the Mixer control panel. Use the LXEAudioGetSpeakerVolume and :LXEAudioGetHeadsetVolume APIs for the MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET N/A E-SW-WINAPIPG-S [ 283 ] WINAPI CE API Programming Guide LXEAudioGetMasterVolume CE 4.x Devices API Supported VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 284 ] WINAPI CE API Programming Guide LXEAudioSetMasterVolume LXEAudioSetMasterVolume int LXEAudioSetMasterVolume(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the master volume for .WAV sounds from the audio driver the value passed in the variable val, which can range from 0 (0 dB attenuation) to 31 (-46.5 dB attenuation). This function is different from output volume. Master volume affects sidetones and Bluetooth audio which the output volume control does not affect. For devices such as the HX2, HX3, all MX3 devices, MX7, MX8, all VX3 devices, VX6 and VX7, this setting corresponds to the Master Volume setting in the Mixer control panel. For the MX9, this setting corresponds to the Speaker Volume setting in the Mixer control panel. Use the LXEAudioSetSpeakerVolume and :LXEAudioSetHeadsetVolume APIs for the MX9. Note: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveMasterVolume(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes E-SW-WINAPIPG-S [ 285 ] WINAPI CE API Programming Guide LXEAudioSetMasterVolume CE 4.x Devices API Supported VX4 CE.NET N/A VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 286 ] WINAPI CE API Programming Guide LXEAudioLoadMasterVolume LXEAudioLoadMasterVolume int LXEAudioLoadMasterVolume(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads the master volume for .WAV sounds from the registry into the audio driver. This function is different from output volume. Master volume affects sidetones and Bluetooth audio which the output volume control does not affect. This function loads and activates the master output volume value from the registry into internal variables in the audio driver. For devices such as the HX2, HX3, all MX3 devices, MX7, MX8, all VX3 devices, VX6 and VX7, this setting corresponds to the Master Volume setting in the Mixer control panel. For the MX9, this setting corresponds to the Speaker Volume setting in the Mixer control panel. Use the LXEAudioLoadSpeakerVolume and LXEAudioLoadHeadsetVolume APIs for the MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes E-SW-WINAPIPG-S [ 287 ] WINAPI CE API Programming Guide LXEAudioLoadMasterVolume CE 4.x Devices API Supported VX4 CE.NET N/A VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 288 ] WINAPI CE API Programming Guide LXEAudioSaveMasterVolume LXEAudioSaveMasterVolume int LXEAudioSaveMasterVolume(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current master volume for .WAV sounds from the audio driver into the registry. This function is different from output volume. Master volume affects sidetones and Bluetooth audio which the output volume control does not affect. For the WINAPI, this setting corresponds to the Master Volume setting in the Mixer control panel. For devices such as the HX2, HX3, all MX3 devices, MX7, MX8, all VX3 devices, VX6 and VX7, this setting corresponds to the Master Volume setting in the Mixer control panel. For the MX9, this setting corresponds to the Speaker Volume setting in the Mixer control panel. Use the LXEAudioSaveSpeakerVolume and :LXEAudioSaveHeadsetVolume APIs for the MX9. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes E-SW-WINAPIPG-S [ 289 ] WINAPI CE API Programming Guide LXEAudioSaveMasterVolume CE 4.x Devices API Supported VX4 CE.NET N/A VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 290 ] WINAPI CE API Programming Guide LXEAudioGetSpeakerVolume LXEAudioGetSpeakerVolume int LXEAudioGetSpeakerVolume(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current volume of the internal speaker in val, which can range from 0 (0 dB attenuation) to 31 (-46.5 dB attenuation). WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 291 ] WINAPI CE API Programming Guide LXEAudioGetSpeakerVolume CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 292 ] WINAPI CE API Programming Guide LXEAudioSetSpeakerSpeakerVolume LXEAudioSetSpeakerSpeakerVolume int LXEAudioSetSpeakerVolume(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the internal speaker volume to the value passed in val, which can range from 0 (0 dB attenuation) to 31 (-46.5 dB attenuation). Note: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveSpeakerVolume(). WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 293 ] WINAPI CE API Programming Guide LXEAudioSetSpeakerSpeakerVolume CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 294 ] WINAPI CE API Programming Guide LXEAudioLoadSpeakerVolume LXEAudioLoadSpeakerVolume int LXEAudioLoadSpeakerVolume(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads and activates the internal speaker volume from the registry into the audio driver. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 295 ] WINAPI CE API Programming Guide LXEAudioLoadSpeakerVolume CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 296 ] WINAPI CE API Programming Guide LXEAudioSaveSpeakerVolume LXEAudioSaveSpeakerVolume int LXEAudioSaveSpeakerVolume(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current internal speaker volume from the audio driver to the registry. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 297 ] WINAPI CE API Programming Guide LXEAudioSaveSpeakerVolume CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 298 ] WINAPI CE API Programming Guide LXEAudioGetSpeakerVolume LXEAudioGetSpeakerVolume int LXEAudioGetSpeakerVolume(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current volume of the headset in val, which can range from 0 (0 dB attenuation) to 31 (-46.5 dB attenuation). WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 299 ] WINAPI CE API Programming Guide LXEAudioGetSpeakerVolume CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 300 ] WINAPI CE API Programming Guide LXEAudioSetHeadsetVolume LXEAudioSetHeadsetVolume int LXEAudioSetHeadsetVolume(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the headset volume to the value passed in val, which can range from 0 (0 dB attenuation) to 31 (-46.5 dB attenuation). Note: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveHeadsetVolume(). WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 301 ] WINAPI CE API Programming Guide LXEAudioSetHeadsetVolume CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 302 ] WINAPI CE API Programming Guide LXEAudioLoadHeadsetVolume LXEAudioLoadHeadsetVolume int LXEAudioLoadHeadsetVolume(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads and activates the headset volume from the registry into the audio driver. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 303 ] WINAPI CE API Programming Guide LXEAudioLoadHeadsetVolume CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 304 ] WINAPI CE API Programming Guide LXEAudioSaveHeadsetVolume LXEAudioSaveHeadsetVolume int LXEAudioSaveHeadsetVolume(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current headset volume from the audio driver to the registry. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 305 ] WINAPI CE API Programming Guide LXEAudioSaveHeadsetVolume CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 306 ] WINAPI CE API Programming Guide LXEAudioGetRecordIn LXEAudioGetRecordIn int LXEAudioGetRecordIn(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current record input from the audio driver in the variable val. The following values are valid for val: RECORDIN_NONE(0) RECORDIN_MIC1(1) The following values are defined, but not implemented on any current LXE products: RECORDIN_MIC2(2) RECORDIN_LINE(4) The following value is added to support Bluetooth on CE 5.0 and newer products: RECORDIN_BLUE(256) Note: If the record input is set to RECORDIN_NONE, the audio driver returns an error when record functions are implemented. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 307 ] WINAPI CE API Programming Guide LXEAudioGetRecordIn CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 308 ] WINAPI CE API Programming Guide LXEAudioSetRecordIn LXEAudioSetRecordIn int LXEAudioSetRecordIn(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the current record input for the audio driver to the value passed in the variable val. The following values are valid for val: RECORDIN_NONE(0) RECORDIN_MIC1(1) The following values are defined, but not implemented on any current LXE products: RECORDIN_MIC2(2) RECORDIN_LINE(4) The following value is added to support Bluetooth on CE 5.0 and newer products: RECORDIN_BLUE(256) An attempt to connect to a port which does not exist in hardware returns an error. Note: If the record input is set to RECORDIN_NONE, the audio driver returns an error when record functions are implemented. Note: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveRecordIn(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 309 ] WINAPI CE API Programming Guide LXEAudioSetRecordIn CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 310 ] WINAPI CE API Programming Guide LXEAudioLoadRecordIn LXEAudioLoadRecordIn int LXEAudioLoadRecordIn(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads and activates the record input select value from the registry into the audio driver. Note: If the record input is set to RECORDIN_NONE, the audio driver returns an error when record functions are implemented. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 311 ] WINAPI CE API Programming Guide LXEAudioLoadRecordIn CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 312 ] WINAPI CE API Programming Guide LXEAudioSaveRecordIn LXEAudioSaveRecordIn int LXEAudioSaveRecordIn(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current record input select value from the audio driver to the registry. Note: If the record input is set to RECORDIN_NONE, the audio driver returns an error when record functions are implemented. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 313 ] WINAPI CE API Programming Guide LXEAudioSaveRecordIn CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 314 ] WINAPI CE API Programming Guide LXEAudioGetSidetone LXEAudioGetSidetone int LXEAudioGetSidetone(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current record sidetone from the audio driver in the variable val, which can range from 120 (+12.0 db) to -345 (-34.5 db), in 1.5 db increments (limited by the codec resolution). Sidetone is the feedback from the microphone into the earphone that allows the user to hear what he/she is speaking (as in normal speech). Sidetone is only audible when recording is in process. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 315 ] WINAPI CE API Programming Guide LXEAudioGetSidetone CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 316 ] WINAPI CE API Programming Guide LXEAudioSetSidetone LXEAudioSetSidetone int LXEAudioSetSidetone(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the record sidetone from the audio driver to the value passed in the variable val, which can range from 120 (+12.0 db) to -345 (-34.5 db), in 1.5 db increments (limited by the codec resolution). Sidetone is the feedback from the microphone into the earphone that allows the user to hear what he/she is speaking (as in normal speech). Sidetone is only audible when recording is in process. Note: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveSidetone(). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes E-SW-WINAPIPG-S [ 317 ] WINAPI CE API Programming Guide LXEAudioSetSidetone CE 4.x Devices API Supported RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 318 ] WINAPI CE API Programming Guide LXEAudioLoadSidetone LXEAudioLoadSidetone int LXEAudioLoadSidetone(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads and activates the record sidetone value from the registry into the audio driver. Sidetone is the feedback from the microphone into the earphone that allows the user to hear what he/she is speaking (as in normal speech). Sidetone is only audible when recording is in process. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 319 ] WINAPI CE API Programming Guide LXEAudioLoadSidetone CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 320 ] WINAPI CE API Programming Guide LXEAudioSaveSidetone LXEAudioSaveSidetone int LXEAudioSaveSidetone(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current record sidetone from the audio driver to the registry. Sidetone is the feedback from the microphone into the earphone that allows the user to hear what he/she is speaking (as in normal speech). Sidetone is only audible when recording is in process. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 321 ] WINAPI CE API Programming Guide LXEAudioSaveSidetone CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 322 ] WINAPI CE API Programming Guide LXEAudioGetHeadSet LXEAudioGetHeadSet int LXEAudioGetHeadSet(int *val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the current state of the Enable Headset option from the audio driver in val: 1 On, or 0 Off. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 323 ] WINAPI CE API Programming Guide LXEAudioGetHeadSet CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 324 ] WINAPI CE API Programming Guide LXEAudioSetHeadSet LXEAudioSetHeadSet int LXEAudioSetHeadSet(int val); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the current state of the Enable Headset option from the audio driver to val: 1 On, or 0 Off. Note: This setting is NOT saved in the registry. To make the change permanent, use LXEAudioSaveHeadSet(). WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 325 ] WINAPI CE API Programming Guide LXEAudioSetHeadSet CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 326 ] WINAPI CE API Programming Guide LXEAudioLoadHeadSet LXEAudioLoadHeadSet int LXEAudioLoadHeadSet(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads and activates the Enable Headset value from the registry into the audio driver. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 327 ] WINAPI CE API Programming Guide LXEAudioLoadHeadSet CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 328 ] WINAPI CE API Programming Guide LXEAudioSaveHeadSet LXEAudioSaveHeadSet int LXEAudioSaveHeadSet(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the current Enable Headset value from the audio driver to the registry. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 329 ] WINAPI CE API Programming Guide LXEAudioSaveHeadSet CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 330 ] WINAPI CE API Programming Guide Keyboard API Calls API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. E-SW-WINAPIPG-S [ 331 ] WINAPI CE API Programming Guide LXEKeyboardSetLayout LXEKeyboardSetLayout int LXEKeyboardSetLayout(int id); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the active keyboard layout to the value in the variable id. This layout must exist in the registry, and have been created with the LXE KeyComp utility before using this function. Note: API is a wrapper for the standard Win32 API call ActivateKeyboardLayout(). Note: This function is essentially obsolete on CE 5.x Devices since the only valid ID is 0409. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 332 ] WINAPI CE API Programming Guide LXEKeyboardSetLayout CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 333 ] WINAPI CE API Programming Guide LXEKeyboardGetLayout LXEKeyboardGetLayout int LXEKeyboardGetLayout(int *id); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the ID of the current keyboard layout in the variable id. Note: API is a wrapper for the standard Win32 API call GetKeyboardLayout(). Note: This function is essentially obsolete on CE 5.x Devices since the only valid ID is 0409. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 334 ] WINAPI CE API Programming Guide LXEKeyboardGetLayout CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 335 ] WINAPI CE API Programming Guide LXEKbdTypeGet LXEKbdTypeGet int LXEKbdTypeGet(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the keyboard type for supported LXE computers. For the MX7, this function returns: MX7II_55Key for 55-key keypad MX7II_32Key for 32-key keypad Early MX7’s (those with the Odyssey Client Utility) do not support this API. For the MX8, this function returns: 1 for MX8 Triple-Tap keypad 2 for MX8 Alpha Mode keypad For the WINAPI, this function returns: 0 for 38 key keypad 1 for 62 key keypad 2 for Itron style keypad WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 No HX3 CE 5.0 No MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A E-SW-WINAPIPG-S [ 336 ] WINAPI CE API Programming Guide LXEKbdTypeGet CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 337 ] WINAPI CE API Programming Guide Miscellaneous API Calls API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. E-SW-WINAPIPG-S [ 338 ] WINAPI CE API Programming Guide LXEBoot LXEBoot int LXEBoot(void); This function performs a warm boot, preserving all configuration settings. All programs loaded by the operating system are restored (see "LAUNCH.EXE" in the appropriate LXE computer reference guide). However, any network sessions are lost, and any data in running applications not specifically flushed to storage may be lost. This function returns: 0 on error. On success it does not return. It is up to the application making this call to validate the API's usage. For example, the application may be designed to provide a warning, ask for a password, etc. Calling this function arbitrarily can result in loss of data. WinMobile Devices API Supported MX6 WinMobile Yes MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 5.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes E-SW-WINAPIPG-S [ 339 ] WINAPI CE API Programming Guide LXEBoot CE 5.x Devices API Supported VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 340 ] WINAPI CE API Programming Guide LXEBootCold LXEBootCold int LXEBootCold(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function performs an MX8-defined coldboot. This boot preserves the configuration settings, however the contents of RAM are erased. All applications are reinstalled. Any network settings are lost. Any data in running applications not specifically flushed to storage may be lost. This function is valid for the MX8 CE 5.0 only. This function returns: 0 on error. On success it does not return. It is up to the application making this call to validate the API's usage. For example, the application may be designed to provide a warning, ask for a password, etc. Calling this function arbitrarily can result in loss of data. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 N/A VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A E-SW-WINAPIPG-S [ 341 ] WINAPI CE API Programming Guide LXEBootCold CE 4.x Devices API Supported VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 342 ] WINAPI CE API Programming Guide LXEBootClear LXEBootClear int LXEBootClear(void); This function performs a cold boot, erasing the contents of RAM and returning all registry configuration settings to factory defaults. This routine does not return to the calling application as the calling application is terminated on the cold boot. Note: Currently, in CE 3.x implementations with Intel Persistent Storage Manager, the last saved registry values are reloaded on startup, not the factory defaults. Note: For the MX9, this function performs the LXELoadFactoryDefaults() function. Note: On Windows Mobile, this function is the same as WinMobile Clean Boot. It reformats persistent storage which erases the registry plus any user stored applications or data. It restores the complete factory configuration. Anything stored on the System drive in flash is preserved. This function returns: 0 on error. On success it does not return. It is up to the application making this call to validate the API's usage. For example, the application may be designed to provide a warning, ask for a password, etc. Calling this function arbitrarily can result in loss of data. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 343 ] WINAPI CE API Programming Guide LXEBootClear CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET Yes VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes CE 3.x Devices API Supported MX3 CE 3.0 Yes MX5 PPC Yes MX6 PPC Yes E-SW-WINAPIPG-S [ 344 ] WINAPI CE API Programming Guide LXEIsTurboOn LXEIsTurboOn int LXEIsTurboOn(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function can be used to determine if the CPU is currently set to turbo (double speed) mode, returning: 1 if the CPU is currently set to double speed (400 MHz, default), or 0 if the CPU speed is not set to double speed (200 MHz). Note: Power drain increases substantially in turbo mode. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 345 ] WINAPI CE API Programming Guide LXEIsTurboOn CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 346 ] WINAPI CE API Programming Guide LXETurboOn LXETurboOn int LXETurboOn(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the CPU to double speed for processor intensive applications. It is implemented only on the XScale CPU. Note: Power drain increases substantially in turbo mode. Note: On many devices this has no effect (if the hardware to do the switching is not present). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 347 ] WINAPI CE API Programming Guide LXETurboOn CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 348 ] WINAPI CE API Programming Guide LXETurboOff LXETurboOff int LXETurboOff(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function sets the CPU to half its maximum speed to save power when CPU intensive applications are not running. It is implemented only on the XScale CPU. Note: On many devices this has no effect (if the hardware to do the switching is not present). WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 No VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 349 ] WINAPI CE API Programming Guide LXETurboOff CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 350 ] WINAPI CE API Programming Guide LXEWarmBoot LXEWarmBoot int LXEWarmBoot(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function performs a restart of the operating system. The contents of RAM and all registry configuration settings are preserved. CAB files already loaded into RAM remain loaded. The Active Registry is saved to the Flash registry hive and the operating system continues to use the Active Registry. This routine does not return to the calling application as the calling application is terminated on the cold boot. This function returns: 0 on error. On success it does not return. This type of boot is not supported on Windows Mobile, instead calling this API on Windows Mobile results in a cold boot. It is up to the application making this call to validate the API's usage. For example, the application may be designed to provide a warning, ask for a password, etc. Calling this function arbitrarily can result in loss of data. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A E-SW-WINAPIPG-S [ 351 ] WINAPI CE API Programming Guide LXEWarmBoot CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 352 ] WINAPI CE API Programming Guide LXERestart LXERestart int LXERestart(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function restarts the operating system, erasing the contents of RAM. The Active Registry is copied to the Flash registry hive, thus the Active registry is preserved after the restart. The OS and CAB files are reloaded. Touch screen calibration data is preserved. This routine does not return to the calling application as the calling application is terminated on the restart. This function returns: 0 on error. On success it does not return. Note: On most platforms, this is identical to LXEBoot. It is up to the application making this call to validate the API's usage. For example, the application may be designed to provide a warning, ask for a password, etc. Calling this function arbitrarily can result in loss of data. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A E-SW-WINAPIPG-S [ 353 ] WINAPI CE API Programming Guide LXERestart CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 354 ] WINAPI CE API Programming Guide LXEShutDown LXEShutDown int LXEShutDown(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function shuts down the operating system. Before shutdown, the Active Registry is copied to the Flash registry hive, thus the Active registry is preserved. The OS and CAB files are reloaded on next startup. Touch screen calibration data is preserved. This routine does not return to the calling application as the calling application is terminated on the shut down. This function returns: 0 on error. On success it does not return. It is up to the application making this call to validate the API's usage. For example, the application may be designed to provide a warning, ask for a password, etc. Calling this function arbitrarily can result in loss of data. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A E-SW-WINAPIPG-S [ 355 ] WINAPI CE API Programming Guide LXEShutDown CE 4.x Devices API Supported MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 356 ] WINAPI CE API Programming Guide LXELoadUserReg LXELoadUserReg int LXELoadUserReg(WHCAR *filename); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function loads the User Registry file indicated by filename to the Active Registry. Filename must be a complete path to a persistent location (such as \System). No checking is performed on this parameter. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 357 ] WINAPI CE API Programming Guide LXELoadUserReg CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 358 ] WINAPI CE API Programming Guide LXESaveUserReg LXESaveUserReg int LXESaveUserReg(WHCAR *filename); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function saves the Active registry to the User Registry file indicated by filename. Filename must be a complete path to a persistent location (such as \System). No checking is performed on this parameter. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 359 ] WINAPI CE API Programming Guide LXESaveUserReg CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 360 ] WINAPI CE API Programming Guide LXELoadFactoryDefaults LXELoadFactoryDefaults int LXELoadFactoryDefaults(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function deletes the Flash Registry Hive and causes a restart of the operating system. After the restart, the Factory Default registry settings are loaded into the Active Registry. This function returns: 0 on error. On success it does not return. It is up to the application making this call to validate the API's usage. For example, the application may be designed to provide a warning, ask for a password, etc. Calling this function arbitrarily can result in loss of data. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A E-SW-WINAPIPG-S [ 361 ] WINAPI CE API Programming Guide LXELoadFactoryDefaults CE 4.x Devices API Supported VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 362 ] WINAPI CE API Programming Guide LXEHasInternalDrive LXEHasInternalDrive int LXEHasInternalDrive(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function returns the presence of the internal storage card: 1 = card is inserted in the slot 0 = no card in the slot. WinMobile Devices API Supported MX6 WinMobile No MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX5X & MX5-IS CE 5.0 No MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 No MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET Yes MX5X & MX5-IS CE.NET No VX3X CE.NET Yes VX4 CE.NET No VX6 CE.NET Yes VX7 CE.NET Yes RX2 CE.NET Yes E-SW-WINAPIPG-S [ 363 ] WINAPI CE API Programming Guide LXEHasInternalDrive CE 3.x Devices API Supported MX3 CE 3.0 No MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 364 ] WINAPI CE API Programming Guide Peripheral Control API Calls The APIs in this section are only valid for PXA 320 based computers. API support is listed for each LXE computer with a Microsoft Windows CE operating system indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. See GetLastError for more information. N/A – The LXE computer does not support this API. The API was created after the release of the computer and the API is not defined for this model of LXE computer. Calling this API on a computer marked as N/A may give unpredictable results including the possibility the LXE computer may lock up and require rebooting. E-SW-WINAPIPG-S [ 365 ] WINAPI CE API Programming Guide LXEPowerCOM1 LXEPowerCOM1 int LXEPowerCOM1(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control UART1 power. Valid values for onoff are: 1 to turn power on 0 to turn power off. Note: This is called from the serial driver and arbitrary usage by applications may confuse the serial driver. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A E-SW-WINAPIPG-S [ 366 ] WINAPI CE API Programming Guide LXEPowerCOM1 CE 4.x Devices API Supported RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 367 ] WINAPI CE API Programming Guide LXEPowerCOM1RI LXEPowerCOM1RI int LXEPowerCOM1RI(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control the application of power to the RI signal on COM1. Valid values for onoff are: 1 to turn power on 0 to turn power off. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 368 ] WINAPI CE API Programming Guide LXEPowerCOM1RI CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 369 ] WINAPI CE API Programming Guide LXEPreserveStateCOM1 LXEPreserveStateCOM1 int LXEPreserveStateCOM1(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to enable and disable maintaining the state of COM1 after the port is closed by an application. When enabled, the COM1 transceiver remains powered and the state of DTR is not changed when the port is closed. When disabled, the COM1 transceiver is powered off and DTR is cleared. Valid values for onoff are: 1 to enable, 0 to disable. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 370 ] WINAPI CE API Programming Guide LXEPreserveStateCOM1 CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 371 ] WINAPI CE API Programming Guide LXEPowerCOM2 LXEPowerCOM2 int LXEPowerCOM2(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control UART2 power. Valid values for onoff are: 1 to turn power on b to turn power off. Note: This is called from the serial and Bluetooth drivers and arbitrary usage by applications may confuse the serial driver. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 372 ] WINAPI CE API Programming Guide LXEPowerCOM2 CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 373 ] WINAPI CE API Programming Guide LXEPowerCOM3 LXEPowerCOM3 int LXEPowerCOM3(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control UART3 power. Valid values for onoff are: 1 to turn power on 0 to turn power off. Note: This is called from the serial driver, and arbitrary usage by applications may confuse the serial driver. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A E-SW-WINAPIPG-S [ 374 ] WINAPI CE API Programming Guide LXEPowerCOM3 CE 4.x Devices API Supported RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 375 ] WINAPI CE API Programming Guide LXEPowerCOM3RI LXEPowerCOM3RI int LXEPowerCOM3RI(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control the application of power to the RI signal on COM3. Valid values for onoff are: 1 to turn power on 0 to turn power off. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 376 ] WINAPI CE API Programming Guide LXEPowerCOM3RI CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 377 ] WINAPI CE API Programming Guide LXEIsPowerCOM3 LXEIsPowerCOM3 int LXEIsPowerCOM3(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function reports the current UART3 power state. This function returns: 0 if UART3 power is off 1 if UART3 power is on. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A N/A MX5X & MX5-IS CE.NET N/A N/A VX3X CE.NET N/A VX4 CE.NET N/A E-SW-WINAPIPG-S [ 378 ] WINAPI CE API Programming Guide LXEIsPowerCOM3 CE 4.x Devices API Supported VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 379 ] WINAPI CE API Programming Guide LXEPreserveStateCOM3 LXEPreserveStateCOM3 int LXEPreserveStateCOM3(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to enable and disable maintaining the state of COM3 after the port is closed by an application. When enabled, the COM3 transceiver remains powered and the state of DTR is not changed when the port is closed. When disabled, the COM3 transceiver is powered off and DTR is cleared. Valid values for onoff are: 1 to enable 0 to disable. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 380 ] WINAPI CE API Programming Guide LXEPreserveStateCOM3 CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 381 ] WINAPI CE API Programming Guide LXEPowerCOM4 LXEPowerCOM4 int LXEPowerCOM4(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control UART4 power. Valid values for onoff are: 1 to turn power on 0 to turn power off. COM4 only exists in the MX9. Note: This is called from the serial driver, and arbitrary usage by applications may confuse the serial driver. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 382 ] WINAPI CE API Programming Guide LXEPowerCOM4 CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 383 ] WINAPI CE API Programming Guide LXESuspendPowerCOM4 LXESuspendPowerCOM4 int LXESuspendPowerCOM4(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to select whether UART4 power remains on or is turned off when the device enters Suspend mode. COM4 only exists on the MX9. Valid values for onoff are: 1 to leave power on in Suspend mode 0 to turn power off in Suspend mode. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A E-SW-WINAPIPG-S [ 384 ] WINAPI CE API Programming Guide LXESuspendPowerCOM4 CE 4.x Devices API Supported RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 385 ] WINAPI CE API Programming Guide LXEResetCOM4 LXEResetCOM4 int LXEResetCOM4(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to reset UART4. This must be used after powering on the port. COM4 only exists on the MX9. Note: COM4 and COM5 are linked in the FPGA. This function resets both COM4 and COM5 ports. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 386 ] WINAPI CE API Programming Guide LXEResetCOM4 CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 387 ] WINAPI CE API Programming Guide LXEPowerCOM4RI LXEPowerCOM4RI int LXEPowerCOM4RI(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control the application of power to the RI signal on COM1. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices which have no COM4 port, the API returns ERROR_DEV_NOT_EXIST. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A E-SW-WINAPIPG-S [ 388 ] WINAPI CE API Programming Guide LXEPowerCOM4RI CE 4.x Devices API Supported RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 389 ] WINAPI CE API Programming Guide LXEPowerCOM5 LXEPowerCOM5 int LXEPowerCOM5(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control UART5 power. Valid values for onoff are: 1 to turn power on 0 to turn power off. Because GPS is on COM5, this API also controls GPS power at the same time. COM5 only exists on the MX9. Note: This is called from the serial driver, and arbitrary usage by applications may confuse the serial driver. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A E-SW-WINAPIPG-S [ 390 ] WINAPI CE API Programming Guide LXEPowerCOM5 CE 4.x Devices API Supported VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 391 ] WINAPI CE API Programming Guide LXEPowerCOM5RI LXEPowerCOM5RI int LXEPowerCOM5RI(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control the application of power to the RI signal on COM5. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices which have no COM5 RI, this API returns ERROR_DEV_NOT_EXIST.. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A E-SW-WINAPIPG-S [ 392 ] WINAPI CE API Programming Guide LXEPowerCOM5RI CE 4.x Devices API Supported RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 393 ] WINAPI CE API Programming Guide LXEResetCOM5 LXEResetCOM5 int LXEResetCOM5(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to reset UART5. This must be used after powering on the port. COM5 only exists on the MX9. Note: COM4 and COM5 are linked in the FPGA. This function resets both COM4 and COM5 ports. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 394 ] WINAPI CE API Programming Guide LXEResetCOM5 CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 395 ] WINAPI CE API Programming Guide LXEPowerGPS LXEPowerGPS int LXEPowerGPS(HANDLE portname, int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control GPS power. This function automatically handles any hardware port multiplexing appropriately. Portname = the handle returned by CreateFile to open the GPS COM port, or NULL if the calling application does not have the GPS COM port open. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices with no GPS, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A E-SW-WINAPIPG-S [ 396 ] WINAPI CE API Programming Guide LXEPowerGPS CE 4.x Devices API Supported VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 397 ] WINAPI CE API Programming Guide LXEIsPowerGPS LXEIsPowerGPS int LXEIsPowerGPS(HANDLE portname); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function reports the current GPS power state. Portname = the handle returned by CreateFile to open the GPS COM port, or NULL if the calling application does not have the GPS COM port open. This function returns: 0 if GPS power is off 1 if GPS power is on. On devices with no GPS, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A E-SW-WINAPIPG-S [ 398 ] WINAPI CE API Programming Guide LXEIsPowerGPS CE 4.x Devices API Supported VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 399 ] WINAPI CE API Programming Guide LXEResetGPS LXEResetGPS int LXEResetGPS(HANDLE portname); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to reset the GPS module. This must be used after powering on the port. This function should only be called by the GPS application software and not used arbitrarily. Portname = the handle returned by CreateFile to open the GPS COM port, or NULL if the calling application does not have the GPS COM port open. On devices with no GPS, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A E-SW-WINAPIPG-S [ 400 ] WINAPI CE API Programming Guide LXEResetGPS CE 4.x Devices API Supported RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 401 ] WINAPI CE API Programming Guide LXEPowerImager LXEPowerImager int LXEPowerImager(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control power to the camera/imager. This function should only be called by the camera driver and is not intended for application usage. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices with no imager, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 402 ] WINAPI CE API Programming Guide LXEPowerImager CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 403 ] WINAPI CE API Programming Guide LXEResetImager LXEResetImager int LXEResetImager(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to reset the camera/imager. This function should only be called by the camera driver and is not intended for application usage. On devices with no imager, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 404 ] WINAPI CE API Programming Guide LXEResetImager CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 405 ] WINAPI CE API Programming Guide LXEPowerCFslot LXEPowerCFslot int LXEPowerCFSlot(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to directly control power to the Compact Flash slot as opposed to LXEPcmciaEnableSlot(SLOT_ COMPACT_FLASH) or LXEPcmciaDisableSlot(SLOT_COMPACT_FLASH) which communicate through the PCMCIA driver. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices with no Compact Flash slot, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 406 ] WINAPI CE API Programming Guide LXEPowerCFslot CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 407 ] WINAPI CE API Programming Guide LXEPowerSDslot1 LXEPowerSDslot1 int LXEPowerSDSlot1(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to directly control power to the Compact Flash slot as opposed to LXEPcmciaEnableSlot(SLOT_ SDMMC) or LXEPcmciaDisableSlot(SLOT_SDMMC) which communicate through the SD card driver. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices with no SD/MMC slot, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 408 ] WINAPI CE API Programming Guide LXEPowerSDslot1 CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 409 ] WINAPI CE API Programming Guide LXEPowerSDslot2 LXEPowerSDslot2 int LXEPowerSDSlot2(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to directly control power to the Compact Flash slot as opposed to LXEPcmciaEnableSlot(SLOT_ SDMMC2) or LXEPcmciaDisableSlot(SLOT_SDMMC2) which communicate through the SD card driver. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices with no second SD/MMC slot, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 410 ] WINAPI CE API Programming Guide LXEPowerSDslot2 CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 411 ] WINAPI CE API Programming Guide LXEPowerVib LXEPowerVib int LXEPowerVib(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to directly control power to the vibration motor as opposed to LXESetVibration(n) which automatically times the power to n milliseconds. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices with no vibration motor, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A E-SW-WINAPIPG-S [ 412 ] WINAPI CE API Programming Guide LXEPowerVib CE 4.x Devices API Supported VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 413 ] WINAPI CE API Programming Guide LXEPowerUSBHost LXEPowerUSBHost int LXEPowerUSBHost(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control power to the USB host transceiver. Valid values for onoff are: 1 to turn power on 0 to turn power off. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 414 ] WINAPI CE API Programming Guide LXEPowerUSBHost CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 415 ] WINAPI CE API Programming Guide LXEPowerHeater LXEPowerHeater int LXEPowerHeater(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control power to the heater. Valid values for onoff are: 1 to turn power on 0 to turn power off. On devices with no heater, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A E-SW-WINAPIPG-S [ 416 ] WINAPI CE API Programming Guide LXEPowerHeater CE 4.x Devices API Supported RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 417 ] WINAPI CE API Programming Guide LXEResetRaptor LXEResetRaptor int LXEResetRaptor(void); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to reset the SuperRaptor radio. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A E-SW-WINAPIPG-S [ 418 ] WINAPI CE API Programming Guide LXEResetRaptor CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 419 ] WINAPI CE API Programming Guide LXEPowerFlashlight LXEPowerFlashlight int LXEPowerFlashlight(int onoff); Note: Calling this API on a computer marked as N/A may give unpredictable results including the possibility the computer may lock up and require rebooting. This function is used to control power to the flashlight. If this API is called to turn the flashlight on, the flashlight remains on until one of the following occur: l The flashlight timeout expires, or l This function is called to turn the flashlight off. Valid values for onoff are: 1 to turn power on 0 to turn power off. On terminals with no flashlight, this call has no effect. WinMobile Devices API Supported MX6 WinMobile N/A MX8 WinMobile No CE 5.x Devices API Supported HX2 CE 5.0 N/A HX3 CE 5.0 N/A MX3Plus CE 5.0 N/A MX3X CE 5.0 N/A MX5X & MX5-IS CE 5.0 N/A MX7 & MX7CS CE 5.0 N/A MX8 CE 5.0 N/A MX9, MX9CS & MX9HL CE 5.0 Yes VX3Plus CE 5.0 N/A VX3X CE 5.0 N/A VX6 CE 5.0 N/A VX7 CE 5.0 N/A CE 4.x Devices API Supported MX3X & MX3-RFID CE.NET N/A MX5X & MX5-IS CE.NET N/A VX3X CE.NET N/A E-SW-WINAPIPG-S [ 420 ] WINAPI CE API Programming Guide LXEPowerFlashlight CE 4.x Devices API Supported VX4 CE.NET N/A VX6 CE.NET N/A VX7 CE.NET N/A RX2 CE.NET N/A CE 3.x Devices API Supported MX3 CE 3.0 N/A MX5 PPC N/A MX6 PPC N/A E-SW-WINAPIPG-S [ 421 ] WINAPI CE API Programming Guide Bluetooth API Calls Unless otherwise noted, all API calls return 1 on success, or 0 on error. The Win32 API call GetLastError() may be called to get extended error information. Click here for more information on GetLastError(). Note that Bluetooth APIs are only supported on certain LXE devices with a Windows CE 5.0 or Windows Mobile operating system. E-SW-WINAPIPG-S [ 422 ] WINAPI CE API Programming Guide LXEBTTurnBTOn LXEBTTurnBTOn int LXEBTTurnBTOn(); Turns the Bluetooth radio on. Input N/A Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 423 ] WINAPI CE API Programming Guide LXEBTTurnBTOff LXEBTTurnBTOff int LXEBTTurnBTOff(); Turns the Bluetooth radio off. Input N/A Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 424 ] WINAPI CE API Programming Guide LXEBTMakeDiscoverable LXEBTMakeDiscoverable int LXEBTMakeDiscoverable(); Makes the Bluetooth radio discoverable. Input N/A Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 425 ] WINAPI CE API Programming Guide LXEBTMakeNotDiscoverable LXEBTMakeNotDiscoverable int LXEBTMakeNotDiscoverable(); Makes the Bluetooth radio not discoverable. Input N/A Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 426 ] WINAPI CE API Programming Guide LXEBTStartDiscovery LXEBTStartDiscovery int LXEBTStartDiscovery(); Initiates discovery and returns. A separate Event signals when discovery is completed. Applications can listen for this Event: API_DISCOVERYCOMPLETE. Input N/A Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 427 ] WINAPI CE API Programming Guide LXEBTGetDiscoveredDevices LXEBTGetDiscoveredDevices int LXEBTGetDiscoveredDevices(DISC_DEVICE_LIST **pDiscDeviceList); Returns a list of devices discovered during the last discovery attempt. The following are included for each device: BT Address, Device Name, and Class of Device. Input N/A Output Content of DISC_DEVICE_LIST structure returned: Summary info: int numDevices number of devices in DISC_DEVICE_LIST For each device: TCHAR sBluetoothDeviceAddress [19] Bluetooth Address TCHAR sBluetoothDeviceName [128] Device Name TCHAR sCOD [10] Class of Device typedef struct { TCHAR sBluetoothDeviceAddress[19]; TCHAR sBluetoothDeviceName[128]; TCHAR sCOD[10]; }DISC_DEVICE_INFO; typedef struct { int numDevices; DISC_DEVICE_INFO discDeviceInfo[NUM_BLUETOOTHITEMS]; }DISC_DEVICE_LIST; Note: API will allocate space for pDiscDeviceList. The caller must free the memory by calling: free(pDiscDeviceList). WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 428 ] WINAPI CE API Programming Guide LXEBTGetDiscoveredDevices CE 5.x Devices API Supported MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 429 ] WINAPI CE API Programming Guide LXEBTGetPairedDevices LXEBTGetPairedDevices int LXEBTGetPairedDevices(PAIR_DEVICE_LIST **pPairDeviceList); Returns a list of paired devices. The following are included for each device: BT Address, Device Name, Class of Device, and LocalCOMPort. Input N/A Output Content of PAIR_DEVICE_LIST structure returned: Summary info: int numDevices number of devices in PAIR_DEVICE_LIST For each device: TCHAR sBluetoothDeviceAddress [19] Bluetooth Address TCHAR sBluetoothDeviceName [128] Device Name TCHAR sCOD [10] Class of Device int localCOMPort Local COM port typedef struct { TCHAR sBluetoothDeviceAddress[19]; TCHAR sBluetoothDeviceName[128]; TCHAR sCOD[10]; int localCOMPort; }PAIR_DEVICE_INFO; typedef struct { int numDevices; PAIR_DEVICE_INFO pairDeviceInfo[NUM_BLUETOOTHITEMS]; }PAIR_DEVICE_LIST; Note: API will allocate space for pPairDeviceList. The caller must free the memory by calling: free(pPairDeviceList). E-SW-WINAPIPG-S [ 430 ] WINAPI CE API Programming Guide LXEBTGetPairedDevices WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 431 ] WINAPI CE API Programming Guide LXEBTGetActiveDevices LXEBTGetActiveDevices int LXEBTGetActiveDevices(ACTIVE_DEVICE_LIST **pActiveDeviceList); Returns a list of connected devices. The following are included for each device: BT Address and LocalCOMPort. Input N/A Output Content of ACTIVE_DEVICE_LIST structure returned: Summary info: int numDevices number of devices in ACTIVE_DEVICE_LIST For each device: TCHAR sBluetoothDeviceAddress [19] Bluetooth Address int localCOMPort Local COM port typedef struct { TCHAR sBluetoothDeviceAddress[19]; int localCOMPort; }ACTIVE_DEVICE_INFO; typedef struct { int numDevices; ACTIVE_DEVICE_INFO activeDeviceInfo[NUM_BLUETOOTHITEMS]; }ACTIVE_DEVICE_LIST; Note: API will allocate space for pActiveDeviceList. The caller must free the memory by calling: free(pActiveDeviceList). WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes E-SW-WINAPIPG-S [ 432 ] WINAPI CE API Programming Guide LXEBTGetActiveDevices CE 5.x Devices API Supported MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 433 ] WINAPI CE API Programming Guide LXEBTConnectDevice LXEBTConnectDevice int LXEBTConnectDevice(int deviceType, TCHAR* btAddr, TCHAR* pin); Connects to a Bluetooth Device that was previously discovered. API takes the following as input parameters: BT Address, Device Type (Scanner, Printer, Serial), and PIN (used if requested by the device). Input int deviceType specifies the device type of the targeted Bluetooth device. Valid Values BT_DEVICE_SCANNER BT_DEVICE_SERIAL BT_DEVICE_PRINTER TCHAR *btAddr specifies the Bluetooth Address of the targeted Bluetooth device. TCHAR *pin pin to use if the targeted Bluetooth devices requests a pin for authentication. #define BT_DEVICE_SCANNER 0 #define BT_DEVICE_SERIAL1 #define BT_DEVICE_PRINTER2 Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes E-SW-WINAPIPG-S [ 434 ] WINAPI CE API Programming Guide LXEBTConnectDevice CE 5.x Devices API Supported VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 435 ] WINAPI CE API Programming Guide LXEBTDisconnectDevice LXEBTDisconnectDevice int LXEBTDisconnectDevice(TCHAR* btAddr); Disconnects a connected Bluetooth device. Takes the Bluetooth Address of the devices as input. Input TCHAR *btAddr specifies the Bluetooth Address of the targeted Bluetooth device. Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 436 ] WINAPI CE API Programming Guide LXEBTAllowScannerData LXEBTAllowScannerData int LXEBTAllowScannerData(int passData); Controls whether the incoming scanner data is sent to the LXE Wedge. API takes a passData flag as an input. If flag is set, then a third-party application can open the LocalCOMPort (see LXEBTGetActiveDevices()) and get the data. Input int passData 0 – data is processed by the LXE Wedge. 1 – data is not processed by the LXE Wedge. Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 437 ] WINAPI CE API Programming Guide LXEBTSetLinkSupervisionTimeout LXEBTSetLinkSupervisionTimeout int LXEBTSetLinkSupervisionTimeout(int linkTimeout); Writes the Link_Supervision_Timeout parameter, which is used by the master or slave Bluetooth device to monitor link loss. If, for any reason, no Baseband packets are received for duration longer than the Link_Supervision_Timeout, the connection is disconnected. Setting the linkTimeout to 0 will disable the check. This makes it unnecessary for the master of the piconet to unpark and then park each Bluetooth device every ~40 seconds. Input int linkTimeout 0: no Link_Supervision_Timeout value. 1 – 40: Link_Supervision_Timeout in seconds. Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 438 ] WINAPI CE API Programming Guide LXEBTSetReconnectTimer LXEBTSetReconnectTimer int LXEBTSetReconnectTimer(int reconnectTimer); Sets the interval, in seconds, between the reconnect attempts. Input int reconnectTimer 0 – 60: reconnect interval in seconds. Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 439 ] WINAPI CE API Programming Guide LXEBTDeleteDevice LXEBTDeleteDevice int LXEBTDeleteDevice(TCHAR* btAddr); Deletes a Bluetooth Device out of the GUI list and prevents a reconnection. API should be used in conjunction with LXEBTDisconnectDevice(). Takes the Bluetooth Address of the devices as input. Input TCHAR *btAddr specifies the Bluetooth Address of the targeted Bluetooth device. Output N/A WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 440 ] WINAPI CE API Programming Guide LXEBTGetLinkSupervisionTimeout LXEBTGetLinkSupervisionTimeout int LXEBTGetLinkSupervisionTimeout(int *linkTimeout); Gets the current link supervision timeout value. Input N/A Output int linkTimeout 0: no Link_Supervision_Timeout value. 1 – 40: Link_Supervision_Timeout in seconds. WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 441 ] WINAPI CE API Programming Guide LXEBTGetReconnectTimer LXEBTGetReconnectTimer int LXEBTGetReconnectTimer(int *reconnectTimer); Gets the interval, in seconds, between the reconnect attempts. Input N/A Output int reconnectTimer 0 – 60: reconnect interval in seconds. WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 442 ] WINAPI CE API Programming Guide LXEBTGetBTAddress LXEBTGetBTAddress int LXEBTGetBTAddress(TCHAR **btAddr); Description: Gets the Bluetooth Address of the local Bluetooth radio. Input N/A Output TCHAR *btAddr Bluetooth Address of the local Bluetooth radio. Note: API will allocate space for btAddr. The caller must free the memory by calling: free(btAddr). WinMobile Devices API Supported MX8 WinMobile Yes CE 5.x Devices API Supported HX2 CE 5.0 Yes HX3 CE 5.0 Yes MX3Plus CE 5.0 Yes MX3X CE 5.0 Yes MX7 & MX7CS CE 5.0 Yes MX8 CE 5.0 Yes MX9, MX9CS & MX9HL CE 5.0 Yes VX3X CE 5.0 Yes VX3X CE 5.0 Yes VX6 CE 5.0 Yes VX7 CE 5.0 Yes E-SW-WINAPIPG-S [ 443 ] WINAPI CE API Programming Guide RFID API Calls The RFID API calls are for the LXE MX3-RFID and RX2 computers with a Microsoft Windows CE .NET operating system and an internal RFID reader. API support is indicated by the following designations: Yes – The LXE computer supports this API. No – The LXE computer does not support this API. On these computers, the API returns a not supported function result to the calling application. For status codes returned by the API calls, please see Status Field Codes. Please refer to the RFID information in the MX3X Reference Guide or the RX2 Reference Guide for more information on RFID functions and parameters. E-SW-WINAPIPG-S [ 444 ] WINAPI CE API Programming Guide Status Field Codes Status Field Codes Error Code Description ERR_NONE 0x00 ERR_UNDEFINED 0xFF Unknown error/fault encountered ERR_INVALID_CMD 0xFE Command not recognized ERR_INVALID_PARAM 0xFD Command parameter(s) out of range ERR_INSUFFICIENT_DATA 0xFC Insufficient data supplied with command ERR_ANT_FAULT 0xFB An antenna fault (open/short) was detected ERR_PLL_LOCK_FAIL 0xFA PLL failed to lock ERR_DC_FAIL 0xF9 DC input voltage out of range (+/-5%) ERR_RF_FAIL 0xF8 Low RF power (not used in response to SYSTEM command) ERR_OVR_TEMP 0xF7 TX isolator over-temp ERR_DNL_BAD_CRC 0xF6 Invalid data CRC during DOWNLOAD command ERR_DNL_INVALID_ADDR 0xF5 Invalid address during DOWNLOAD command ERR_DNL_INVALID_ SUBCMD 0xF4 DOWNLOAD sub-command not supported by application ERR_DNL_ERASE_ TIMEOUT 0xF3 ERR_DNL_WRITE_TIMEOUT 0xF2 No errors or faults encountered Unable to erase flash for DOWNLOAD command due to a timeout condition for flash erase Unable to write to flash for DOWNLOAD command due to a timeout condition for flash write ERR_DNL_WRITE_FAIL 0xF1 Unable to write to flash for DOWNLOAD command due to flash write failure ERR_FP_READ_FAIL 0xF0 Invalid Forward Power level reading ERR_VOLT_MON_FAIL 0xEF Invalid Voltage Monitor circuit reading ERR_READ_ANT_SENSE_ FAIL 0xEE Invalid Antenna Sense reading ERR_READ_PA_TEMP_FAIL 0xED Invalid Power Amp Temperature reading ERR_INVALID_SUB_CMD 0xEC Invalid Subcommand received from Host ERR_PROG_ID_FAIL 0xEB Failed to program tag ID ERR_TAG_READ_FAIL 0xEA Failed to read a tag ERR_ERASE_ID_FAIL 0xE9 Failed to erase the tag ERR_LOCK_ID_FAIL 0xE8 Failed to lock the tag ERR_KILL_ID_FAIL 0xE7 Failed to kill the tag E-SW-WINAPIPG-S [ 445 ] WINAPI CE API Programming Guide Output to Keyboard Buffer Output to Keyboard Buffer The RFID Driver provides a runtime utility for directing the output of read operations to the device keyboard buffer. Only read operations are supported through this utility. When an “RFID Read” button is pressed, a READ command is called. Based on the “Tag Types to Read” setting (set through the LXE RFID configuration Utility), the READ command performs one of the following: l TAG_0_READ, l TAG_1_READ, l C1G2_READ, l or any combination of TAG_0_READ, TAG_1_READ and C1G2_READ. E-SW-WINAPIPG-S [ 446 ] WINAPI CE API Programming Guide LXERFIDSystemNoChg LXERFIDSystemNoChg int LXERFIDSystemNoChg( BYTE *status, INT *ldrSwVer, INT *appSwVer, BYTE *mode ); This API causes no change (NO_CHG function) to the RFID computer. It is used to retrieve the firmware version. Input N/A Output The function returns TRUE if status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code INT ldrSwVer The current loader software version mark Range: 0x0000 - 0xFFFF INT appSwVer The current application software version mark Range: 0x0000 - 0xFFFF BYTE mode The current mode setting Range: Function currently returns 0 Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 447 ] WINAPI CE API Programming Guide LXERFIDTag0Kill LXERFIDTag0Kill This API corresponds to the TAG_0_KILL function. This API is not currently supported. Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 448 ] WINAPI CE API Programming Guide LXERFIDTag0Get LXERFIDTag0Get int LXERFIDTag0Get( BYTE *status, BYTE *rfLevel, BYTE *modDepth ); This function retrieves the RF power level and Modulation depth settings for Class 0 read. The Modulation depth setting is obsolete, so this API returns the gain value of the antenna (to the nearest dBi) instead of the modulation depth. Input N/A Output The function returns TRUE if Status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code BYTE rfLevel RF power level used for reading Class 0 tags BYTE modDepth Antenna_Gain value in dBi. Earlier versions returned Modulation depth used for reading Class 0 tags Note: The rfLevel returned is the last value set using the LXERFIDTag0SetAPI. If the RFID reader has subsequently reverted to the default value due to a power management cycle, the value returned by this API does not reflect the return to default power level. Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 449 ] WINAPI CE API Programming Guide LXERFIDTag0Set LXERFIDTag0Set int LXERFIDTag0Set( BYTE *status, BYTE rfLevel, BYTE modDepth ); This API performs the TAG_0_SET function. For Class 0 tags, this function sets the read parameters: l RF power level and l Modulation depth Input BYTE rfLevel – RF power level to be used for reading Class 0 tags Range: 0x00 – 0x10 where: 0x00 = NO_CHG – The current setting is to remain unchanged 0x01 – 0x10 = +15dbm to +30dbm in 16 steps of +1db Default: 0x10 (+30dbm) BYTE modDepth – Modulation depth to be used for reading Class 0 tags Range: 0x00 – 0x20 where: 0x00 = NO_CHG – The current setting is to remain unchanged 0x01 – 0x20 = 20% to 95% in steps of ~2.42% Default: 0x20 (95%) Note: The rfLevel parameter setting is active until the reader is allowed to go into power management (reader turns off). After returning from power management, the reader returns to default (maximum power). Power management for the RFID reader is controlled by the LXERFIDReaderPowerTimeout API. Note: The modulation depth parameter is required by the API. However, the modulation depth parameter is obsolete and ignored by the reader. Output The function returns TRUE if status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 450 ] WINAPI CE API Programming Guide LXERFIDTag0Read LXERFIDTag0Read int LXERFIDTag0Read( BYTE *status, BYTE singulationMode, BYTE filterBitCount, BYTE *filterBits, INT *tagCount, BYTE **tagID, INT *tagIDLen ); This API performs the TAG_0_READ function. Class 0 tag IDs are read using the parameters set by TAG_0_SET. Input BYTE singulationMode Identifiers for singulation algorithm Range: 0x00 – 0x02 where: 0x00 = ID0 0x01 = ID1 0x02 = ID2 0x99 = NO_CHG – The current setting is to remain unchanged Default: 0x02 (ID2) Note: ID2 is the only option that is implemented so far in the reader. BYTE filterBitCount Number of filter bits in the filterBits array Range: 0x00 – 0x60 = treat as ID2 data 0x80 – 0xe0 = treat as negative value of filter bit count and treat FILTER__ITS as ID1 data. Default: 0x00 BYTE filterBits[16] Filter for the Reader to use when filtering the tags. Default:‘’ Output The function returns TRUE if status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status – Error Code INT tagCount – Number of tags read BYTE *tagID – A string containing a Preamble, a sequence of 1 or more tag IDs separated by a Separator, and ending with a Postamble. INT tagIDLen – Length of tagID. Note: API allocates space for tagID. The caller must free the memory by calling: free(tagID). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 451 ] WINAPI CE API Programming Guide LXERFIDTag1Kill LXERFIDTag1Kill This API corresponds to the TAG_1_KILL function. This API is not currently supported. Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 452 ] WINAPI CE API Programming Guide LXERFIDTag1Get LXERFIDTag1Get int LXERFIDTag1Get( BYTE *status, BYTE *rfLevel, BYTE *modDepth ); This function retrieves the RF power level and Modulation depth settings for Class 1 read. The Modulation depth setting is obsolete, so this API returns the gain value of the antenna (to the nearest dBi) instead of the modulation depth. Input N/A Output The function returns TRUE if Status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code BYTE rfLevel RF power level used for reading Class 1 tags BYTE modDepth Antenna_Gain value in dBi. Earlier versions returned Modulation depth used for reading Class 1 tags. Note: The rfLevel returned is the last value set using the LXERFIDTag1SetAPI. If the RFID reader has subsequently reverted to the default value due to a power management cycle, the value returned by this API does not reflect the return to default power level. Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 453 ] WINAPI CE API Programming Guide LXERFIDTag1Set LXERFIDTag1Set int LXERFIDTag1Set( BYTE *status, BYTE rfLevel, BYTE modDepth ); This API performs the TAG_1_SET function. For Class 1 tags, this function sets the read parameters: l RF power level and l Modulation depth Set read parameters (RF power level and Modulation depth) Input BYTE rfLevel RF power level to be used for reading Class 1 tags Range: 0x00 – 0x10 where: 0x00 = NO_CHG – The current setting is to remain unchanged 0x01 – 0x10 = +15dbm - +30dbm in 16 steps of +1db Default: 0x10 (+30dbm) BYTE modDepth Modulation depth to be used for reading Class 1 tags Range: 0x00 – 0x20 where: 0x00 = NO_CHG – The current setting is to remain unchanged 0x01 – 0x20 = 20% - 95% in steps of ~2.42% Default: 0x20 (95%) Note: The rfLevel parameter setting is active until the reader is allowed to go into power management (reader turns off). After returning from power management, the reader returns to default (maximum power). Power management for the RFID reader is controlled by the LXERFIDReaderPowerTimeout API. The modulation depth parameter is required by the API. However, the modulation depth parameter is obsolete and ignored by the reader. Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 454 ] WINAPI CE API Programming Guide LXERFIDTag1Read LXERFIDTag1Read int LXERFIDTag1Read( BYTE *status, BYTE filterBitCount, BYTE *filterBits, INT *tagCount, BYTE **tagID, INT *tagIDLen ); This API performs the TAG_1_READ function. Class 1 tag IDs are read using the parameters set by TAG_1_SET. This API filters out tags that are not EPC compliant. If the application requires that all tags (including those with a non-EPC compliant ID) be read, use LXERFIDTag1ReadAll. Input BYTE filterBitCount Number of filter bits in the filterBits array Range: 0x00 – 0x60 Default: 0x00 BYTE filterBits[16] Filter for the Reader to use when filtering the tags. Default:‘’ Output The function returns TRUE if status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code INT tagCount Number of tags read BYTE *tagID A string containing a Preamble, a sequence of 1 or more tag IDs separated by a Separator, and ending with a Postamble. INT tagIDLen Length of tagID. Note: API allocates space for tagID. The caller must free the memory by calling: free(tagID). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 455 ] WINAPI CE API Programming Guide LXERFIDTag1ProgramID LXERFIDTag1ProgramID int LXERFIDTag1ProgramID( BYTE *status, BYTE tagIDBitCount, BYTE password, BYTE *tagID ); This API performs the TAG_1_PROGRAM_ID function. All Class 1 tags receiving this command program the specified tag ID in memory. It is recommended to call the LXERFIDTag1EraseID() API before calling this API in order for the operation to succeed. Input BYTE tagIDBitCount Number of ID bits to follow (up to 0x60 – 96 bits for 12 byte tag) Values: 0x40 for 64-bit tag 0x60 for 96-bit tag All other values produce an error from the Reader. BYTE password Tag password. LXERFIDTag1ProgramID command programs the password along with the Tag ID. Once the password is programmed in, Lock and Kill commands sent to the tag are required to provide this password. BYTE tagID[12] Tag ID to program (up to 12 bytes) Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 456 ] WINAPI CE API Programming Guide LXERFIDTag1VerifyID LXERFIDTag1VerifyID typedef struct { BYTE tagLen; BYTE epcIDCode[12]; BYTE password; BYTE crc[2]; }TAG_INFO; typedef struct { BYTE status; INT tagCount; TAG_INFO tagInfo[100]; }RFID_VERIFY; RFID_VERIFY *pRFIDVerifyPtr; int LXERFIDTag1VerifyID( RFID_VERIFY **pRFIDVerifyPtr ); This API performs the TAG_1_VERIFY_ID function. All tags receiving this command reply with: l their CRC l followed by their entire ID Code l followed by their Password. A tag that has successfully executed the LOCK_ID command ignores the VERIFY_ID command. Input N/A Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. Content of RFID_VERIFY structures returned: Summary info: BYTE status Error Code INT tagCount number of tags verified For each tag: BYTE tagLen Length of tagID (in bytes) stored in epcIDCode. BYTE epcIDCode [12] Contains the EPC tag ID code (up to 96 bits), MSB first E-SW-WINAPIPG-S [ 457 ] WINAPI CE API Programming Guide LXERFIDTag1VerifyID BYTE password The 8-bit password received from the EPC tag. MSB first. Lock and Kill commands sent to the tag are required to provide this password. BYTE crc[2] Contains the 16-bit CRC response from the tag. MSB first. Note: API allocates space for pRFIDVerifyPtr. The caller must free the memory by calling: free(pRFIDVerifyPtr). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 458 ] WINAPI CE API Programming Guide LXERFIDTag1LockID LXERFIDTag1LockID int LXERFIDTag1LockID( BYTE *status, BYTE password ); This API performs the TAG_1_LOCK_ID function. This command prevents any further modification of the tag ID, CRC, and Password. Input BYTE password 8-bit password that is programmed into the tag. Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 459 ] WINAPI CE API Programming Guide LXERFIDTag1EraseID LXERFIDTag1EraseID int LXERFIDTag1EraseID( BYTE *status ); This API performs the TAG_1_ERASE_ID function. This command sets all bits of the tag ID, CRC, and Password to ‘0’. A tag that has successfully executed the LOCK_ID command ignores the ERASE_ID command Input N/A Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 460 ] WINAPI CE API Programming Guide LXERFIDTag1Write LXERFIDTag1Write int LXERFIDTag1Write( BYTE *status, BYTE tagIDBitCount, BYTE password, BYTE *tagID ); This API performs the TAG_1_WRITE function, which combines the PROGRAM_ID and LOCK_ID operations. To perform this function, multiple ERASE_ID commands are followed by multiple PROGRAM_ID commands then multiple LOCK_ID commands. Input BYTE tagIDBitCount Number of ID bits to follow Values: 0x40 for 64-bit tag 0x60 for 96-bit tag All other values produce an error from the Reader. BYTE password password BYTE tagID[12] Tag ID to program Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 461 ] WINAPI CE API Programming Guide LXERFIDTag1ReadAll LXERFIDTag1ReadAll int LXERFIDTag1ReadAll( BYTE *status, BYTE filterBitCount, BYTE *filterBits, INT *tagCount, BYTE **tagID, INT *tagIDLen ); This API performs the TAG_1_READ function. Class 1 tag IDs are read using the parameters set by TAG_1_SET. This API reads all tags, even those that are not EPC compliant. If the application requires that only EPC compliant tags are read, use LXERFIDTag1Read. Input BYTE filterBitCount Number of filter bits in the filterBits array Range: 0x00 – 0x60 Default: 0x00 BYTE filterBits[16] Filter for the Reader to use when filtering the tags. Filter is a series of hexadecimal digits starting with the first digit. Default:‘’ Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code INT tagCount Number of tags read BYTE *tagID A string containing a Preamble, a sequence of 1 or more tag IDs separated by a Separator, and ending with a Postamble. INT tagIDLen Length of tagID. Note: API allocates space for tagID. The caller must free the memory by calling: free(tagID). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 462 ] WINAPI CE API Programming Guide LXERFIDC1G2KillID LXERFIDC1G2KillID int LXERFIDC1G2KillID( BYTE *status, BYTE qValue, BYTE tagIDBitCount, long password, BYTE *tagID, INT *tagCount ); This command renders any C1G2 (Class 1, Gen 2) tag receiving this message non-operational. Note: An MX3-RFID may require an update to support Class 1 Gen 2 tags and this API. Please contact your LXE representative for details. Input BYTE qValue The Q value is an integer from 0 to 7. It is used to determine the number of time slots used during an inventory round. When a query to tags begins, tags randomly choose from one of 0 to 2^Q-1 time slots to respond to the reader. The reader then decrements the slot counter through each time slot to read any tags that are available. This creates a more orderly way for tags to respond to the reader if many tags are present. Going to a high value impacts read time. Passing a value greater than 7 results in the value of 7 being used. BYTE tagIDBitCount Number of ID bits in the tagID (up to 0x80 – 128 bits for 16 byte tag) Values: 0x40 for 64-bit tag 0x60 for 96-bit tag 0x80 for 128-bit tag All other values produce an error from the Reader. long password The kill password that is programmed onto the tag to be killed BYTE tagID[32] TagID bits to be used in addressing a single tag that is to be killed. Output The function returns TRUE if Status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 463 ] WINAPI CE API Programming Guide LXERFIDC1G2Get LXERFIDC1G2Get int LXERFIDC1G2Get( BYTE *status, BYTE *rfLevel, BYTE *modDepth ); This function retrieves the RF power level and Modulation depth settings for C1G2 read. The Modulation depth setting is obsolete, so this API returns the gain value of the antenna (to the nearest dBi) instead of the modulation depth. Note: An MX3-RFID may require an update to support Class 1 Gen 2 tags and this API. Please contact your LXE representative for details. Input N/A Output The function returns TRUE if Status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code BYTE rfLevel RF power level used for reading C1G2 tags BYTE modDepth Antenna_Gain value in dBi. Earlier versions returned Modulation depth used for reading C1G2 tags Note: The rfLevel returned is the last value set using the LXERFIDC1G2SetAPI. If the RFID reader has subsequently reverted to the default value due to a power management cycle, the value returned by this API does not reflect the return to default power level. Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 464 ] WINAPI CE API Programming Guide LXERFIDC1G2Set LXERFIDC1G2Set int LXERFIDC1G2Set( BYTE *status, BYTE rfLevel, BYTE modDepth ); Sets read parameters (RF power level and Modulation depth) for C1G2 (Class 1, Gen 2) tags. Note: An MX3-RFID may require an update to support Class 1 Gen 2 tags and this API. Please contact your LXE representative for details. Input BYTE rfLevel RF power level to be used for reading C1G2 tags Range: 0x00-0x10 where: 0x00 = NO_CHG – The current setting is to remain unchanged 0x01 - 0x10 = +15dbm to +30dbm in 16 steps of +1db (for FCC) Default: 0x10 (+30dbm) Note: Sending a value less than the specified minimum results in the minimum value being used. Note: Sending a value greater than the maximum results in the maximum value being used. BYTE modDepth Modulation depth to be used for reading C1G2 tags Range: 0x00-0x20 where: 0x00 = NO_CHG – The current setting is to remain unchanged 0x01 - 0x20 = 20% - 95% in steps of ~2.42% Default: 0x20 (95%) Note: The rfLevel parameter setting is active until the reader is allowed to go into power management (reader turns off). After returning from power management, the reader returns to default (maximum power). Power management for the RFID reader is controlled by the LXERFIDReaderPowerTimeout API. Note: The modulation depth parameter is required by the API. However, the modulation depth parameter is obsolete and ignored by the reader. Output The function returns TRUE if Status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 465 ] WINAPI CE API Programming Guide LXERFIDC1G2Read LXERFIDC1G2Read int LXERFIDC1G2Read( BYTE *status, BYTE qValue, BYTE filterBitCount, BYTE *filterBits, INT *tagCount, BYTE **tagID, INT *tagIDLen ); Reads C1G2 (Class 1, Gen 2) tag IDs using parameters defined by C1G2_SET. Note: An MX3-RFID may require an update to support Class 1 Gen 2 tags and this API. Please contact your LXE representative for details. Input BYTE qValue The Q value is an integer from 0 to 7. It is used to determine the number of time slots used during an inventory round. When a query to tags begins, tags randomly choose from one of 0 to 2^Q-1 time slots to respond to the reader. The reader then decrements the slot counter through each time slot to read any tags that are available. This creates a more orderly way for tags to respond to the reader if many tags are present. Going to a high value impacts read time. Passing a value greater than 7 results in the value of 7 being used. BYTE filterBitCount Number of filter bits in the filterBits array Range: 0x00 - 0x80 Default: 0x00 BYTE filterBits[32] Filter for the Reader to use when filtering the tags. Filter is a sequence of hexadecimal digits starting with first digit. Default:‘’ Output The function returns TRUE if Status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code INT tagCount Number of tags read BYTE *tagID A sequence of hexadecimal digits containing a Preamble, a sequence of 1 or more tag IDs separated by a Separator, and ending with a Postamble. Value should be parsed based on the Preamble, Separator, and Postamble settings. INT tagIDLen Length of tagID. Note: API allocates space for tagID. The caller must free the memory by calling: free(tagID). Product API supported MX3-RFID (FCC) Yes E-SW-WINAPIPG-S [ 466 ] WINAPI CE API Programming Guide LXERFIDC1G2Read Product API supported RX2 Yes E-SW-WINAPIPG-S [ 467 ] WINAPI CE API Programming Guide LXERFIDC1G2ProgramID LXERFIDC1G2ProgramID int LXERFIDC1G2ProgramID( BYTE *status, BYTE qValue, BYTE tagIDBitCount, long password, BYTE *tagID, INT *tagCount ); Used to program an EPC ID into a C1G2 (Class 1, Gen 2) tag. Note: An MX3-RFID may require an update to support Class 1 Gen 2 tags and this API. Please contact your LXE representative for details. Input BYTE qValue The Q value is an integer from 0 to 7. It is used to determine the number of time slots used during an inventory round. When a query to tags begins, tags randomly choose from one of 0 to 2^Q-1 time slots to respond to the reader. The reader then decrements the slot counter through each time slot to read any tags that are available. This creates a more orderly way for tags to respond to the reader if many tags are present. Going to a high value impacts read time. Passing a value greater than 7 results in the value of 7 being used. BYTE tagIDBitCount Number of ID bits in the tagID (up to 0x80 – 128 bits for 16 byte tag) Values: 0x40 for 64-bit tag 0x60 for 96-bit tag 0x80 for 128-bit tag All other values produce an error from the Reader. long password – The kill password that is programmed onto the tag to be killed BYTE tagID[32] TagID bits to be used in addressing a single tag that is to be killed. Output The function returns TRUE if Status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 468 ] WINAPI CE API Programming Guide LXERFIDC1G2LockID LXERFIDC1G2LockID int LXERFIDC1G2LockID( BYTE *status, BYTE qValue, BYTE tagIDBitCount, BYTE *tagID, BYTE *tagCount ); Prevents further modification of the EPC ID and the Kill password stored on a C1G2 (Class 1, Gen 2) tag. Note: An MX3-RFID may require an update to support Class 1 Gen 2 tags and this API. Please contact your LXE representative for details. Input BYTE qValue The Q value is an integer from 0 to 7. It is used to determine the number of time slots used during an inventory round. When a query to tags begins, tags randomly choose from one of 0 to 2^Q-1 time slots to respond to the reader. The reader then decrements the slot counter through each time slot to read any tags that are available. This creates a more orderly way for tags to respond to the reader if many tags are present. Going to a high value impacts read time. Passing a value greater than 7 results in the value of 7 being used. BYTE tagIDBitCount Number of ID bits in the tagID (up to 0x80 – 128 bits for 16 byte tag) Values: 0x40 for 64-bit tag 0x60 for 96-bit tag 0x80 for 128-bit tag All other values produce an error from the Reader. BYTE tagID[32] TagID bits to be used in addressing a single tag that is to be locked. Output The function returns TRUE if Status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 469 ] WINAPI CE API Programming Guide LXERFIDGetMasks LXERFIDGetMasks #define FIELD_NAME_LENGTH40 #define MASK_VALUE_LENGTH24 ypedef struct { TCHAR fieldName[FIELD_NAME_LENGTH+1]; INT maskOffset; INT filterCheck; TCHAR maskValue[MASK_VALUE_LENGTH+1]; }MASK_DEFINE; typedef struct { BYTE status; MASK_DEFINE maskDefine[6]; }MASK_INFO; MASK_INFO *pMaskInfoPtr; int LXERFIDGetMasks( MASK_INFO **pMaskInfoPtr ); This function retrieves the currently set masks Input N/A Output The function returns TRUE if Status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. Content of MASK_INFO structures returned: Summary info: BYTE status Error Code For each mask: TCHAR fieldName[FIELD_NAME_LENGTH+1] Name of the mask, to be used in MaskRead. INT maskOffset Specifies the first character for the Mask matching, zero-indexed. INT filterCheck Specifies whether the mask is selected. TCHAR maskValue[MASK_VALUE_LENGTH+1] Mask to be used for filtering Tag IDs. Note: API allocates space for pMaskInfoPtr. The caller must free the memory by calling: free(pMaskInfoPtr). E-SW-WINAPIPG-S [ 470 ] WINAPI CE API Programming Guide LXERFIDGetMasks Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 471 ] WINAPI CE API Programming Guide LXERFIDMaskDefine LXERFIDMaskDefine #define FIELD_NAME_LENGTH40 #define MASK_VALUE_LENGTH24 typedef struct { TCHAR fieldName[FIELD_NAME_LENGTH+1]; INT maskOffset; INT filterCheck; TCHAR maskValue[MASK_VALUE_LENGTH+1]; }MASK_DEFINE; typedef struct { BYTE status; MASK_DEFINE maskDefine[6]; }MASK_INFO; MASK_INFO *MaskInfoPtr; int LXERFIDMaskDefine( BYTE *status, MASK_INFO *pMaskInfoPtr ); Function to define up to six masks used to filter the Read operations. Input Contents of MASK_INFO structure: Summary info: BYTE status Error Code, used internally. Passed in value ignored For each mask: TCHAR fieldName[FIELD_NAME_LENGTH+1] Name of the mask, to be used in MaskRead. INT maskOffset Specifies the first character for the Mask matching, zero-indexed. INT filterCheck Specifies whether the mask is selected. TCHAR maskValue[MASK_VALUE_LENGTH+1] Mask to be used for filtering Tag IDs. Output The function returns TRUE if Status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status E-SW-WINAPIPG-S [ 472 ] WINAPI CE API Programming Guide LXERFIDMaskDefine Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 473 ] WINAPI CE API Programming Guide LXERFIDMaskRead LXERFIDMaskRead #define FIELD_NAME_LENGTH40 typedef struct { BYTE status; TCHAR fieldName1[FIELD_NAME_LENGTH+1]; TCHAR fieldName2[FIELD_NAME_LENGTH+1]; TCHAR fieldName3[FIELD_NAME_LENGTH+1]; TCHAR fieldName4[FIELD_NAME_LENGTH+1]; TCHAR fieldName5[FIELD_NAME_LENGTH+1]; TCHAR fieldName6[FIELD_NAME_LENGTH+1]; }MASK_READ; MASK_READ *MaskReadPtr; int LXERFIDMaskRead( BYTE *status, BYTE tagType, MASK_READ *pMaskReadPtr, INT *tagCount, BYTE **tagID, INT *tagIDLen ); Function to define up to six masks used to filter the Read operations. Input BYTE tagType Tag type to read (0 = Class 0, 1 = Class 1) Contents of MASK_READ structure: TCHAR fieldName1[FIELD_NAME_LENGTH+1] Name of the first mask to use. TCHAR fieldName2[FIELD_NAME_LENGTH+1] Name of the second mask to use. TCHAR fieldName3[FIELD_NAME_LENGTH+1] Name of the third mask to use. TCHAR fieldName4[FIELD_NAME_LENGTH+1] Name of the fourth mask to use. TCHAR fieldName5[FIELD_NAME_LENGTH+1] Name of the fifth mask to use. TCHAR fieldName6[FIELD_NAME_LENGTH+1] Name of the sixth mask to use. Note: FieldNames selected in MaskRead() call should match those defined in the MaskDefine() call. Tags are filtered based on the logical OR of the Masks selected. Output The function returns TRUE if Status is 0x00 (ERR_NONE) E-SW-WINAPIPG-S [ 474 ] WINAPI CE API Programming Guide LXERFIDMaskRead FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code INT tagCount Number of tags read BYTE *tagID A string containing a Preamble, a sequence of 1 or more tag IDs separated by a Separator, and ending with a Postamble. INT tagIDLen Length of tagID. Note: API allocates space for tagID. The caller must free the memory by calling: free(tagID). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 475 ] WINAPI CE API Programming Guide LXERFIDGetPreamble LXERFIDGetPreamble int LXERFIDGetPreamble( BYTE *status, TCHAR **preamble ); This function retrieves the currently set preamble Input N/A Output The function returns TRUE if Status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code TCHAR * preamble Current preamble Note: API allocates space for preamble. The caller must free the memory by calling: free(preamble). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 476 ] WINAPI CE API Programming Guide LXERFIDSetPreamble LXERFIDSetPreamble int LXERFIDSetPreamble( BYTE *status, TCHAR *preamble ); This API performs the SET_PREAMBLE function. The preamble is set for the output of all read commands (TAG_0_READ, TAG_1_READ, and MASK_READ) Input TCHAR preamble[11] Up to 5 characters that can be specified by combination of 7-bit ASCII characters and hat-encoded characters. A hat-encoded character is treated as one character. Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 477 ] WINAPI CE API Programming Guide LXERFIDGetPostamble LXERFIDGetPostamble int LXERFIDGetPostamble( BYTE *status, TCHAR **postamble ); This function retrieves the currently set postamble Input N/A Output The function returns TRUE if Status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code TCHAR * postamble Current postamble Note: API allocates space for postamble. The caller must free the memory by calling: free(postamble). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 478 ] WINAPI CE API Programming Guide LXERFIDSetPostamble LXERFIDSetPostamble int LXERFIDSetPostamble( BYTE *status, TCHAR *postamble ); This API performs the SET POSTAMBLE function. The postamble is set for the output of all read commands (TAG_0_READ, TAG_1_READ, and MASK_READ) Input TCHAR postamble [11] Up to 5 characters that can be specified by a combination of 7-bit ASCII characters and hat-encoded characters. A hat-encode character is treated as one character. Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 479 ] WINAPI CE API Programming Guide LXERFIDGetSeparator LXERFIDGetSeparator int LXERFIDGetSeparator( BYTE *status, TCHAR **separator ); This function retrieves the currently set separator Input N/A Output The function returns TRUE if Status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code TCHAR * separator Current separator Note: API allocates space for separator. The caller must free the memory by calling: free(separator). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 480 ] WINAPI CE API Programming Guide LXERFIDSetSeparator LXERFIDSetSeparator int LXERFIDSetSeparator( BYTE *status, TCHAR *separator ); This API performs the SET SEPARATOR function. The tag separator is set for the output of all read commands (TAG_0_ READ, TAG_1_READ, and MASK_READ). Input TCHAR separator [5] Up to 2 characters that can be specified by combination of 7-bit ASCII characters and hat-encoded characters. A hat-encoded character is treated as one character. Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 481 ] WINAPI CE API Programming Guide LXERFIDReaderPowerTimeout LXERFIDReaderPowerTimeout int LXERFIDReaderPowerTimeout( BYTE *status, BYTE readerTimeout ); This API performs the READER_POWER_TIMEOUT function. The timeout is set for the Reader Power Management to kick in. When the driver is inactive for the specified time, it puts the reader into “Standby” mode to conserve power. Input BYTE readerTimeout – Enumerated timeout value. Range: 0x00 – 0x17 where: 0x00 = Disable feature. Reader never goes into disabled state 0x01 = 3 sec 0x02 = 4 sec 0x03 = 5 sec 0x04 = 10 sec 0x05 = 15 sec 0x06 = 20 sec 0x07 = 30 sec 0x08 = 45 sec 0x09 = 1 min 0x0a = 2 min 0x0b = 3 min 0x0c = 4 min 0x0d = 5 min 0x0e = 6 min 0x0f = 7 min 0x10 = 8 min 0x11 = 9 min 0x12 = 10 min 0x13 = 11 min 0x14 = 12 min 0x15 = 13 min 0x16 = 14 min 0x17 = 15 min Default: 0x01 Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status E-SW-WINAPIPG-S [ 482 ] WINAPI CE API Programming Guide LXERFIDReaderPowerTimeout Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 483 ] WINAPI CE API Programming Guide LXERFIDNotifyReadSuccess LXERFIDNotifyReadSuccess int LXERFIDNotifyReadSuccess( BYTE *status, BYTE beepOn ); This API performs the NOTIFY_READER_SUCCESS function. It turns ON or OFF a beep on a read operation that resultsin one or more tags read. Input BYTE beepOn Flag can be set to either 0 (no beep) or 1 (beep). Range: 0x00 – 0x01 where: 0x00 = Do not beep 0x01 = Beep Output The function returns TRUE if status is 0x00 (ERR_NONE), FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 484 ] WINAPI CE API Programming Guide LXERFIDNotifyReadOn LXERFIDNotifyReadOn int LXERFIDNotifyReadOn( BYTE *status, BYTE buzzOn ); This API performs the NOTIFY_READER_ON function. It turns ON or OFF a buzz on a read operation that does not produce a beep. Input BYTE buzzOn Flag can be set to either 0 (no buzz) or 1 (buzz). Range: 0x00 – 0x01 where: 0x00 = Do not buzz 0x01 = Buzz Output The function returns TRUE if status is 0x00 (ERR_NONE) FALSE otherwise. Check status and GetLastError() for error information. BYTE status Error Code Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 485 ] WINAPI CE API Programming Guide LXERFIDGetData LXERFIDGetData #defineWM_LXE_RFIDFULL0x604 int LXERFIDGetData( BYTE **tagData, INT *tagDataLen ); This API performs the GET_DATA function. The message WM_LXE_RFIDFULL indicates the RFID read is complete, and the data may be read by calling LXERFIDGetData function. Input N/A Output BYTE *tagData Data from the last read operation. INT tagDataLen Number of bytes in tagData Note: API allocates space for tagData. The caller must free the memory by calling: free(tagData). Product API supported MX3-RFID (FCC) Yes RX2 Yes E-SW-WINAPIPG-S [ 486 ] WINAPI CE API Programming Guide WAN API Calls Unless otherwise noted, all API calls return 1 on success, or 0 on error. The Win32 API call GetLastError() may be called to get extended error information. E-SW-WINAPIPG-S [ 487 ] WINAPI CE API Programming Guide LXEWWANDoATCommand LXEWWANDoATCommand int LXEWWANDoATCommand(char *command, char **response); Passes through AT command to radio and returns the response. Input char *command AT command. Output char *response. Response to the AT command. Note: API allocates space for response. The caller must free the memory by calling: free(response). CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 488 ] WINAPI CE API Programming Guide LXEWWANRadioDisable LXEWWANRadioDisable int LXEWWANRadioDisable(); Disables WWAN Radio. Input None Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 489 ] WINAPI CE API Programming Guide LXEWWANRadioEnable LXEWWANRadioEnable int LXEWWANRadioEnable(); Enables WWAN Radio Input None Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 490 ] WINAPI CE API Programming Guide LXEWWANGetFirmwareVersion LXEWWANGetFirmwareVersion int LXEWWANGetFirmwareVersion(char **fwVersion); Gets firmware version of the WWAN radio. Input None Output char *fwVersion Firmware version of the WWAN radio. Note: API allocates space for fwVersion. The caller must free the memory by calling: free(fwVersion). CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 491 ] WINAPI CE API Programming Guide LXEWWANGetSoftwareVersion LXEWWANGetSoftwareVersion int LXEWWANGetSoftwareVersion(char **swVersion); Gets software version of LXE WWAN software. Input None Output TCHAR *swVersion Software version of the LXE WWAN software. Note: API allocates space for swVersion. The caller must free the memory by calling: free(swVersion). CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 492 ] WINAPI CE API Programming Guide LXEWWANGetRadioType LXEWWANGetRadioType int LXEWWANGetRadioType(int *radioType); Gets the type of the WWAN radio. Input None Output int radioType 0 = CDMA 1 = GSM 2 = Unknown CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 493 ] WINAPI CE API Programming Guide LXEWWANGetSignalStrength LXEWWANGetSignalStrength int LXEWWANGetSignalStrength(int *rssi); Gets signal strength. Input None Output int rssi 0 = -113 dBm or less 1 = -111 dBm 2..30 = -109…-53 dBm 31 = -51 dBm or greater 99 = not known or not detectable CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 494 ] WINAPI CE API Programming Guide LXEWWANGetSerialNumber LXEWWANGetSerialNumber int LXEWWANGetSerialNumber(char **serialNumber); Returns the IMEI (international Mobile Equipment Identifier) number for the GSM/GPRS radio and the ESN (Electronic Serial Number) for the CDMA radio. Input None Output char *serialNumber Serail number of the WWAN radio. Note: API allocates space for serialNumber. The caller must free the memory by calling: free(serialNumber). CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 495 ] WINAPI CE API Programming Guide LXEWWANGetSIMRequiresPIN LXEWWANGetSIMRequiresPIN int LXEWWANGetSIMRequiresPIN(char **pinResponse); Returns SIM PIN authentication response. Input None Output char *pinResponse. SIM PIN authentication response. Note: API allocates space for pinResponse. The caller must free the memory by calling: free(pinResponse). CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 496 ] WINAPI CE API Programming Guide LXEWWANSetSIMSecurity LXEWWANSetSIMSecurity int LXEWWANSetSIMSecurity(char *currentPIN, int securityFlag); Turns SIM Security on or off. Input char *currentPIN Current PIN to get access. int securityFlag 0 = off 1 = on. Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 497 ] WINAPI CE API Programming Guide LXEWWANSetSIMPIN LXEWWANSetSIMPIN int LXEWWANSetSIMPIN(char *currentPIN); Sets the PIN. Used in conjunction with LXEWWANGetSIMRequiresPIN(). Input char *currentPIN Current PIN to get access. Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 498 ] WINAPI CE API Programming Guide LXEWWANGetSIMStatus LXEWWANGetSIMStatus int LXEWWANGetSIMStatus(int *cardStatus); Returns SIM card status. Input None Output int cardStatus. 0 = SIM card removed 1 = SIM card inserted 2 = SIM PIN1 not required, SIM card unlocked 3 = SIM PIN1 required, SIM card locked 4 = Personalization info ready, VCHV (Card Holder Verification) has been verified (if required) 5 = SIM initialization completed CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 499 ] WINAPI CE API Programming Guide LXEWWANSetPhoneNumber LXEWWANSetPhoneNumber int LXEWWANSetPhoneNumber(TCHAR *phoneNumber); Specifies the phone number to use to connect WWAN radio to the nertwork. Input TCHAR *phoneNumber. Phone number. Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 500 ] WINAPI CE API Programming Guide LXEWWANSetUsername LXEWWANSetUsername int LXEWWANSetUsername(TCHAR *username); Specifies the username to use to connect WWAN radio to the network. Input TCHAR *username .User name. Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 501 ] WINAPI CE API Programming Guide LXEWWANSetPassword LXEWWANSetPassword int LXEWWANSetPassword(TCHAR *password); Specifies the password to use to connect WWAN radio to the network. Input TCHAR *password Password Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 502 ] WINAPI CE API Programming Guide LXEWWANSetAPN LXEWWANSetAPN int LXEWWANSetAPN(TCHAR *apn); Specifies the access point name to use to connect WWAN radio to the network. Input TCHAR *apn Access Point Name Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 503 ] WINAPI CE API Programming Guide LXEWWANConnect LXEWWANConnect int LXEWWANConnect(); Connects WWAN radio to the network. Input None Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 504 ] WINAPI CE API Programming Guide LXEWWANDisconnect LXEWWANDisconnect int LXEWWANDisconnect(); Disconnects WWAN radio from the network. Input None Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 505 ] WINAPI CE API Programming Guide LXEWWANGetConnectionStatus LXEWWANGetConnectionStatus int LXEWWANGetConnectionStatus(RASCONNSTATUS **pRasConnStatus); Returns the status of the network connection. Input None Output RASCONNSTATUS *pRasConnStatus RAS Connection status. RASCONNSTATUSW { DWORD RASCONNSTATE DWORD WCHAR WCHAR }; dwSize; rasconnstate; dwError; szDeviceType[ RAS_MaxDeviceType + 1 ]; szDeviceName[ RAS_MaxDeviceName + 1 ]; #define RASCONNSTATUS RASCONNSTATUSW Note: API allocates space for pRasConnStatus. The caller must free the memory by calling: free(pRasConnStatus). CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 506 ] WINAPI CE API Programming Guide LXEWWANGetNetwork LXEWWANGetNetwork int LXEWWANGetNetwork(NETWORK_INFO **pNetworkInfoPtr); Returns network information: l operator name l operator ID l network type l local phone number. Input None Output NETWORK_INFO *pNetworkInfoPtr Content of NETWORK_INFO structure returned: char operatorName[80] name of network operator char operatorID[80] ID of network operator char networkType[80] network type (GSM, GPRS, EDGE, CDMA, 1xRTT, EVDO) char localPhoneNumber[80] local phone number. typedef struct { char operatorName[80]; char operatorID[80]; char networkType[80]; char localPhoneNumber[80]; NETWORK_INFO; Note: API allocates space for pNetworkInfoPtr. The caller must free the memory by calling: free(pNetworkInfoPtr). CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 507 ] WINAPI CE API Programming Guide LXEWWANAllowRoaming LXEWWANAllowRoaming int LXEWWANAllowRoaming(int roamingFlag); Sets the radio to allows roaming onto other compatible networks if the dialed network is not available. Input int allowRoaming 0 = no 1 = yes. Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 508 ] WINAPI CE API Programming Guide LXEWWANAutoconnect LXEWWANAutoconnect int LXEWWANAutoconnect(int autoConnect); When set, the WWAN radio automatically attempts to connect to the network when the device powers on. Input int autoConnect 0 = do not auto connect 1 = auto connect Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 509 ] WINAPI CE API Programming Guide LXEWWANAutoreconnect LXEWWANAutoreconnect int LXEWWANAutoreconnect(int autoReconnect);) When set, the WWAN radio automatically attempts to reconnect after the device resumes from suspend. Input int reconnect 0 = do not auto reconnect 1 = auto reconnect Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 510 ] WINAPI CE API Programming Guide LXEWWANUseDHCP LXEWWANUseDHCP int LXEWWANUseDHCP(int dhcpFlag); Specifies whether WAN connection will use server-assigned IP Address. Input int DHCPFlag 0 - use static IP address 1 – use DHCP. Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 511 ] WINAPI CE API Programming Guide LXEWWANUseDynamicNameServers LXEWWANUseDynamicNameServers int LXEWWANUseDynamicNameServers(int dnsFlag); Specifies whether WAN connection will use server-assigned primary and secondary DNS Input int DnsFlag 0 - Use static primary and secondary DNS 1 – Use dynamic name servers. Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 512 ] WINAPI CE API Programming Guide LXEWWANSetStaticIP LXEWWANSetStaticIP int LXEWWANSetStaticIP(RASIPADDR staticIPAddress); Sets the static IP Address to use when the WWAN radio connects to the network. Input RASIPADDR staticIPaddress. Static IP address Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 513 ] WINAPI CE API Programming Guide LXEWWANSetPrimaryDNS LXEWWANSetPrimaryDNS int LXEWWANSetPrimaryDNS(RASIPADDR primaryDNS); Sets the primary DNS to use when the WWAN radio connects to the network. Input RASIPADDR primaryDNS Primary domain name server. Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 514 ] WINAPI CE API Programming Guide LXEWWANSetSecondaryDNS LXEWWANSetSecondaryDNS int LXEWWANSetSecondaryDNS(RASIPADDR secondaryDNS);) Sets the secondary DNS to use when the WWAN radio connects to the netowrk. Input RASIPADDR secondaryDNS. Secondary domain name server Output None CE 5.x API Supported Devices MX9 No E-SW-WINAPIPG-S [ 515 ] WINAPI CE API Programming Guide Win32 API Calls This section contains additional information for some standard Win32 API calls when used with LXE devices. GetLastError GetLastError() is an optional Win32 API call built into many of the Windows CE images loaded on the LXE computer. When an API has indicated an error has occurred, this API can be used to get a detailed error message. Note: The VX4 CE .NET DOES NOT support the GetLastError() function. If an error does occur, GetLastError() should be used immediately after the error to get a meaningful error code. This is necessary because successful APIs may use SetLastError(0), wiping out any previously set error message. Unless otherwise noted, all API calls return 1 on success, or 0 on error. The Win32 API call GetLastError() may be called to get extended error information For complete details on using GetLastError(), please refer to Microsoft Windows CE documentation. This information is also contained on Microsoft’s web site, Microsoft.com. The LXE API calls return the following errors from GetLastError(): Name in WINERROR.H Value Meaning ERROR_ACCESS_DENIED 5 Requested device is not present on this terminal ERROR_NOT_ENOUGH_MEMORY 8 Attempt to allocate memory failed ERROR_BAD_UNIT 20 Attempt to open a device driver failed ERROR_GEN_FAILURE 31 Kernel IOCTL wasn’t supposed to return, but did ERROR_NOT_SUPPORTED 50 This API does nothing on this terminal ERROR_DEV_NOT_EXIST 55 Requested device is not present on this terminal ERROR_INVALID_PARAMETER 87 Parameter passed to the API is out of valid range ERROR_CALL_NOT_IMPLEMENTED 120 This API does nothing on this terminal ERROR_INSUFFICIENT_BUFFER 122 Application buffer passed in is not big enough for data ERROR_BUSY 170 Attempt to power down a device which is transferring data ERROR_CANTOPEN 1011 Attempt to open a registry key failed ERROR_SERVICE_ALREADY_RUNNING 1056 Attempt to start a service which is already started ERROR_SERVICE_DISABLED 1058 Attempt to stop a service which is already stopped ERROR_RESOURCE_DATA_NOT_FOUND 1812 Requested keymap wasn’t found If an API is denoted as “N/A” this API has not been implemented and should not be used. The difference between “No” and “N/A” is that if an API is used that is “No”, or “Not Supported”, then GetLastError() returns the error code ERROR_NOT_ SUPPORTED (50) or ERROR_CALL_NOT_IMPLEMENTED (120). If the API has been designated as “N/A” and it is used it may never return to the Application, or cause a system GPF error. In addition, any API call may return a standard Win32 system error, which is documented in Microsoft Win32 API documentation. Note: In some cases, the same error condition in different functions returns different error codes. E-SW-WINAPIPG-S [ 516 ] WINAPI CE API Programming Guide NLedDriverSetDevice NLedDriverSetDevice Applications should use the standard WinCE API NLedDriverSetDevice for LED control along with LXE defined LED numbers. This API work with all LXE terminals. The following API descriptions are contained in Microsoft’s API documentation: BOOL NLedDriverSetDevice(int INT nInfoId, void * PVOID pInput ); Parameters nInfoId [in] Indicates what kind of configuration information is being changed. The only supported value is NLED SETTINGS INFO ID, which indicates that the pInput buffer contains information about the current settings for the notification LED. pInput [out] Pointer to the buffer that contains the NLED SETTINGS INFO structure. This structure contains the new settings for the notification LED. Return Values TRUE indicates success. FALSE indicates failure. Remarks The NLedDriverSetDevice function changes the settings of the notification LED. Platforms with no LEDs can call SetLastError and return FALSE. Struct NLED_SETTINGS_INFO { UINT LedNum; INT OnOffBlink; LONG TotalCycleTime; LONG OnTime; LONG OffTime; INT MetaCycleOn; INT MetaCycleOff; }; Members LedNum LED number. The first LED is zero (0). OnOffBlink Current setting. The following table shows the defined values: Value Description 0 Off 1 On E-SW-WINAPIPG-S [ 517 ] WINAPI CE API Programming Guide NLedDriverSetDevice Value Description 2 Blink TotalCycleTime Total Cycle time of a blink, in microseconds. OnTime On time of the cycle, in microseconds. OffTime Off time of the cycle, in microseconds. MetaCycleOn Number of on blink cycles. MetaCycleOff Number of off blink cycles. E-SW-WINAPIPG-S [ 518 ] WINAPI CE API Programming Guide LXE definitions for LedNum LXE definitions for LedNum LedNum Value Valid for the following LXE Products LED_2ND = 0 MX3Plus, MX3X, VX3Plus, VX3X, MX3-RFID, MX3-CE LED_ALT = 1 MX3Plus, MX3X, VX3Plus, VX3X, MX3-RFID, MX3-CE LED_CTRL = 2 MX3Plus, MX3X, VX3Plus, VX3X, MX3-RFID, MX3-CE LED_SHIFT = 3 MX3Plus, MX3X, VX3Plus, VX3X, MX3-RFID, MX3-CE LED_CAPS = 4 MX3Plus, MX3X, VX3Plus, VX3X, MX3-RFID, MX3-CE LED_ALPHA = 5 MX7, MX7CS, HX2, Notes LED_SCAN_RED MX7, MX7CS, MX3Plus, MX3X, MX3-RFID, MX3-CE =6 Red SCAN LED LED_SCAN_GRN MX7, MX7CS, MX3Plus, MX3X, MX3-RFID, MX3-CE =7 Green SCAN LED LED_SCAN_YEL =8 MX7, MX7CS, MX3Plus, MX3X, MX3-RFID, MX3-CE Green and Red SCAN LEDs on at the same time LED_BATTB = 9 MX3Plus, MX3X, MX3-RFID, MX3-CE Backup battery status LED_STAT_RED = 10 MX7, MX7CS, HX2, HX3, MX3Plus, MX3X, VX3Plus, VX3X, MX3-RFID, MX3-CE LED_STAT_GRN = 11 MX7, MX7CS, HX2, HX3, MX3Plus, MX3X, VX3Plus, VX3X, MX3-RFID, MX3-CE LED_STAT_YEL = 12 MX7, MX7CS, HX2, HX3, MX3Plus, MX3X, VX3Plus, VX3X, MX3-RFID, MX3-CE LED_BATTM = 13 MX3Plus, MX3X,, MX3-RFID, MX3-CE Main battery status LED_ HX2, HX3 BLUETOOTH = 14 LED_BLU = 15 future expansion LED_ORG = 16 future expansion LED_UNICODE = future expansion 17 Note: Not all LEDs are present on all devices. If an application attempts to access an LED that is not present, the NLED driver will simply do nothing. E-SW-WINAPIPG-S [ 519 ] WINAPI CE API Programming Guide Reference Material Primary Events for Power Management APIs MX9 The following table applies to all PXA 320 based terminals (MX9): Symbol Value Default PRIMARYEVT_POWER 0x00000001 X PRIMARYEVT_KEY 0x00000002 X PRIMARYEVT_SCAN 0x00000004 X PRIMARYEVT_TRIGGER 0x00000004 X PRIMARYEVT_RTC 0x00000008 X PRIMARYEVT_TOUCH 0x00000010 X PRIMARYEVT_DOCKED 0x00000020 X PRIMARYEVT_PCMCIA 0x00000040 PRIMARYEVT_PCMCIA0 0x00000040 PRIMARYEVT_SDIO 0x00000080 PRIMARYEVT_COM1 0x00000100 PRIMARYEVT_COM2 0x00000200 PRIMARYEVT_COM3 0x00000400 PRIMARYEVT_COM4 0x00000800 PRIMARYEVT_COM5 0x00001000 PRIMARYEVT_USB 0x00002000 PRIMARYEVT_PTT 0x00004000 PRIMARYEVT_WAN 0x00008000 PRIMARYEVT_I2C 0x00010000 PRIMARYEVT_BLUE 0x00020000 PRIMARYEVT_GPS 0x00040000 X X E-SW-WINAPIPG-S [ 520 ] WINAPI CE API Programming Guide CE 5.0 Devices except MX9 CE 5.0 Devices except MX9 Valid values within the bitmask are defined in LXEAPI.H for all CE 5.0 devices except the MX9 in the table below (blank entries in table are undefined). Because of hardware limitations, PRIMARYEVT_COM2 and PRIMARYEVT_SCAN can never be wakeup events. Symbol Value Default PRIMARYEVT_POWER 0x00000001 X PRIMARYEVT_KEY 0x00010000 X PRIMARYEVT_TOUCH 0x00000020 X PRIMARYEVT_COM1 0x00000800 X PRIMARYEVT_COM3 0x00001000 X PRIMARYEVT_SCAN 0x00100000 PRIMARYEVT_USB 0x00400000 X PRIMARYEVT_DOCKED 0x00020000 X PRIMARYEVT_COM2 PRIMARYEVT_TRIGGER 0x00800000 PRIMARYEVT_PCMCIA 0x0C000000 PRIMARYEVT_PCMCIA0 0x04000000 PRIMARYEVT_PCMCIA1 0x08000000 PRIMARYEVT_PCMSTS 0x03000000 PRIMARYEVT_PCMSTS0 0x01000000 PRIMARYEVT_PCMSTS1 0x02000000 E-SW-WINAPIPG-S [ 521 ] WINAPI CE API Programming Guide CE 4.2 Devices CE 4.2 Devices Valid values within the bitmask are defined in LXEAPI.H for all CE .NET devices in the table below (blank entries in table are undefined). Because of hardware limitations, PRIMARYEVT_COM2 and PRIMARYEVT_SCAN can never be wakeup events. Symbol Value Default PRIMARYEVT_POWER 0x00000001 X PRIMARYEVT_KEY 0x00010000 X PRIMARYEVT_TOUCH 0x00000020 X PRIMARYEVT_COM1 0x00000800 X PRIMARYEVT_COM3 0x00001000 X PRIMARYEVT_SCAN 0x00100000 PRIMARYEVT_USB 0x00400000 X PRIMARYEVT_DOCKED 0x00020000 X PRIMARYEVT_COM2 PRIMARYEVT_TRIGGER 0x00800000 PRIMARYEVT_PCMCIA 0x0C000000 PRIMARYEVT_PCMCIA0 0x04000000 PRIMARYEVT_PCMCIA1 0x08000000 PRIMARYEVT_PCMSTS 0x03000000 PRIMARYEVT_PCMSTS0 0x01000000 PRIMARYEVT_PCMSTS1 0x02000000 E-SW-WINAPIPG-S [ 522 ] WINAPI CE API Programming Guide CE 3.x Devices CE 3.x Devices Valid values within the bitmask are defined in LXEAPI.H for all CE 3.x devices in the table below (blank entries in table are undefined). Because of hardware limitations, PRIMARYEVT_COM2 and PRIMARYEVT_SCAN can never be wakeup events. Symbol Value Default PRIMARYEVT_POWER 0x00000001 X PRIMARYEVT_KEY 0x00000002 PRIMARYEVT_TOUCH 0x00000004 X PRIMARYEVT_COM1 0x00000100 X PRIMARYEVT_COM2 0x01000000 PRIMARYEVT_COM3 0x00001000 PRIMARYEVT_SCAN 0x02000000 PRIMARYEVT_USB 0x10000000 PRIMARYEVT_DOCKED 0x40000000 X PRIMARYEVT_TRIGGER PRIMARYEVT_PCMCIA 0x00000018 PRIMARYEVT_PCMCIA0 PRIMARYEVT_PCMCIA1 PRIMARYEVT_PCMSTS PRIMARYEVT_PCMSTS0 PRIMARYEVT_PCMSTS1 E-SW-WINAPIPG-S [ 523 ] WINAPI CE API Programming Guide Power Management States Power Management States Use the following table to match the power management state as identified in the Win32 API documentation to the LXE common name for the state. From Win32 API LXE Common Name D0 (Full On) On D1 (Low On) User Idle D2 (Standby) System Idle D3 (Sleep) Suspend D4 (Off) Off E-SW-WINAPIPG-S [ 524 ] WINAPI CE API Programming Guide Symbology Descriptors Symbology Descriptors The following symbology descriptors are the valid values for the Symb parameter for the following APIs: LXEScannerSymStripLead, LXEScannerSymStripTrail, LXEScannerSymPrefix, LXEScannerSymSuffix, LXEScannerSymEnable, LXEScannerSymIsEnable, LXEScannerSymRemove. These values are also used as the symbology name for LXEScannerSymGetConfig and LXEScannerSymSetConfig. The values listed here correspond with the symbology subkeys in the registry. Symbol and generic Symbologies: L“BooklandEAN” L“Codabar” L“Code11” L“Code39” L“Code93” L“Code128” L“Coupon” L“Discr2of5” L“Interlv2of5” L“MSI/Plessey” L“Trioptic39” L“UCC/EAN128” L“UPC/EAN” Intermec Symbologies: L“CodeBlkA” L“CodaBlkB” L“LabelCode” L“Matr2of5” L“Stand2of5” L“TelePen” HHP Symbologies: L“AusPost” L“Aztec” L“BPO” L“CanPost” L“Code49” L“Composite” L“DataMatrix” L“DutchPost” L“JaPost” E-SW-WINAPIPG-S [ 525 ] WINAPI CE API Programming Guide Symbology Descriptors L“Maxicode” L“Mesa” L“OCR” L“Postnet” L“QR” L“Planet” E-SW-WINAPIPG-S [ 526 ] WINAPI CE API Programming Guide Symbology Values Symbology Values These values are specified in LXEAPI.H. They consist of 2 32-bit bitmaps (code1 and code2), with the values specified below. Note: These are parameters to the deprecated APIs, LXEScannerOption, LXEScannerHasOption and LXEScannerIsOptionEnabled. Newer API code uses the Symbology strings specified in Symbology Descriptors. // Symbol or generic (in code1) // HHP specific (in code2) CODE_BOOKLAND 0x00000001 CODE2_AUSPOST 0x00000001 CODE_CODABAR 0x00000002 CODE2_AZTEC 0x00000002 CODE_CODE11 0x00000004 CODE2_BPO 0x00000004 CODE_CODE39 0x00000008 CODE2_CANPOST 0x00000008 CODE_CODE93 0x00000010 CODE2_CODE49 0x00000010 CODE_CODE128 0x00000020 CODE2_COMPOSITE 0x00000020 CODE_COUPON 0x00000040 CODE2_DATAMATRIX 0x00000040 CODE_DISC2OF5 0x00000080 CODE2_DUTCHPOST 0x00000080 CODE_EAN8 0x00000100 CODE2_JAPOST 0x00000100 CODE_EAN13 0x00000200 CODE2_MAXICODE 0x00000200 CODE_EAN128 0x00000400 CODE2_MESA 0x00000400 CODE_FULLASCII 0x00000800 CODE2_OCR 0x00000800 CODE_IATA2OF5 0x00001000 CODE2_POSTNET 0x00001000 CODE_INTER2OF5 0x00002000 CODE2_QR 0x00002000 CODE_ISBT128 0x00004000 CODE2_PLANET 0x00004000 CODE_MSI 0x00008000 CODE_UPDF417 0x00010000 CODE_PDF417 0x00020000 CODE_PLESSEY 0x00040000 CODE_RSS14 0x00080000 CODE_RSSEXP 0x00100000 CODE_RSSLIM 0x00200000 CODE_TRIOP39 0x00400000 CODE_UPCA 0x00800000 CODE_UPCE 0x01000000 CODE_UPCE1 0x02000000 // Intermec specific (in code1) CODE_CODABLKA 0x04000000 CODE_CODABLKB 0x08000000 // … reserved for future expansion E-SW-WINAPIPG-S [ 527 ] WINAPI CE API Programming Guide Symbology Values CODE_LABELCODE 0x10000000 CODE_MATR2OF5 0x20000000 CODE_STAND2OF5 0x40000000 CODE_TELEPEN 0x80000000 E-SW-WINAPIPG-S [ 528 ] WINAPI CE API Programming Guide Hexadecimal and Hat Encoded Characters Hexadecimal and Hat Encoded Characters Desired ASCII Hexadecimal Value Hat Encoded Desired ASCII Hexadecimal Value Hat Encoded NUL 00 ^@ ESC 1B ^[ SOH 01 ^A FS 1C ^\\ STX 02 ^B GS 1D ^] ETX 03 ^C RS 1E ^^ EOT 04 ^D US 1F ^_ (underscore) ENQ 05 ^E (space) 20 ACK 06 ^F ! 21 BEL 07 ^G “ 22 BS 08 ^H # 23 HT 09 ^I $ 24 LF 0A ^J % 25 VT 0B ^K & 26 FF 0C ^L ‘ 27 CR 0D ^M ( 28 SO 0E ^N ) 29 SI 0F ^O * 2A DLE 10 ^P + 2B DC1(XON) 11 ^Q ‘ 2C DC2 12 ^R – 2D DC3 (XOFF) 13 ^S . 2E DC4 14 ^T / 2F NAK 15 ^U 0 30 SYN 16 ^V 1 31 ETB 17 ^W 2 32 CAN 18 ^X 3 33 EM 19 ^Y 4 34 SUB 1A ^Z 5 35 6 36 V 56 7 37 W 57 8 38 X 58 9 39 Y 59 : 3A Z 5A E-SW-WINAPIPG-S [ 529 ] WINAPI CE API Programming Guide Hexadecimal and Hat Encoded Characters Desired ASCII Hexadecimal Value Hat Encoded Desired ASCII Hexadecimal Value Hat Encoded ; 3B [ 5B < 3C \ 5C = 3D ] 5D > 3E ^ 5E ? 3F _ 5F @ 40 ` 60 A 41 a 61 B 42 b 62 C 43 c 63 D 44 d 64 E 45 e 65 F 46 f 66 G 47 g 67 H 48 h 68 I 49 i 69 J 4A j 6A K 4B k 6B L 4C l 6C M 4D m 6D N 4E n 6E O 4F o 6F P 50 p 70 Q 51 q 71 R 52 r 72 S 53 s 73 T 54 t 74 U 55 u 75 v 76 SPA 96 ~^V W 77 EPA 97 ~^W X 78 98 ~^X Y 79 99 ~^Y Z 7A 9A ~^Z { 7B CSI 9B ~^[ | 7C ST 9C ~^\\ E-SW-WINAPIPG-S [ 530 ] WINAPI CE API Programming Guide Hexadecimal and Hat Encoded Characters Desired ASCII Hexadecimal Value Hat Encoded Desired ASCII Hexadecimal Value Hat Encoded } 7D OSC 9D ~^] ~ 7E PM 9E ~^^ 7F APC 9F ~^_ (underscrore) 80 ~^@ (no-break-space) A0 ~ (tilde and space) 81 ~^A ¡ A1 ~! 82 ~^B ¢ A2 ~” 83 ~^C £ A3 ~# IND 84 ~^D ¤ A4 ~$ NEL 85 ~^E ¥ A5 ~% SSA 86 ~^F ¦ A6 ~& ESA 87 ~^G § A7 ~’ HTS 88 ~^H ¨ A8 ~( HTJ 89 ~^I © A9 ~) VTS 8A ~^J ª AA ~* PLD 8B ~^K « AB ~+ PLU 8C ~^L ¬ AC ~, RI 8D ~^M (soft hypen) AD ~- (dash) SS2 8E ~^N ® AE ~. SS3 8F ~^O ¯ AF ~/ DCU 90 ~^P ° B0 ~0 PU1 91 ~^Q ± B1 ~1 PU2 92 ~^R ² B2 ~2 STS 93 ~^S ³ B3 ~3 CCH 94 ~^T ´ B4 ~4 MW 95 ~^U µ B5 ~5 ¶ B6 ~6 Ö D6 ~V · B7 ~7 × D7 ~W ¸ B8 ~8 Ø D8 ~X ¹ B9 ~9 Ù D9 ~Y º BA ~: Ú DA ~Z » BB ~; Û DB ~[ ¼ BC ~< Ü DC ~\\ ½ BD ~= Ý DD ~] ¾ BE ~> Þ DE ~\^ E-SW-WINAPIPG-S [ 531 ] WINAPI CE API Programming Guide Hexadecimal and Hat Encoded Characters Desired ASCII Hexadecimal Value Hat Encoded Desired ASCII Hexadecimal Value Hat Encoded ¿ BF ~? ß DF ~_ À C0 ~@ à E0 ~` Á C1 ~A á E1 ~a  C2 ~B â E2 ~b à C3 ~C ã E3 ~c Ä C4 ~D ä E4 ~d Å C5 ~E å E5 ~e Æ C6 ~F æ E6 ~f Ç C7 ~G ç E7 ~g È C8 ~H è E8 ~h É C8 ~I é E9 ~i Ê CA ~J ê EA ~j Ë CB ~K ë EB ~k Ì CC ~L ì EC ~l Í CD ~M í ED ~m Î CE ~N î EE ~n Ï CF ~O ï EF ~o Ð D0 ~P ð F0 ~p Ñ D1 ~Q ñ F1 ~q Ò D2 ~R ò F2 ~r Ó D3 ~S ó F3 ~s Ô D4 ~T ô F4 ~t Õ D5 ~U õ F5 ~u ö F6 ~v û FB ~{ ÷ F7 ~w ü FC ~| ø F8 ~x ý FD ~} ù F9 ~y þ FE ~~ ú FA ~z ÿ FF ~^? E-SW-WINAPIPG-S [ 532 ] WINAPI CE API Programming Guide Revision History Revision History Revision / Date Location R / October 2009 S / December 2009 1. Cover page and contents Change 1. Applied Marketing Color Scheme 2. Miscellaneous APIs 2. Modified descriptions: LXEShutDown, LXELoadFactoryDefaults, LXERestart. 1. Entire document 1. Added MX9CS and MX9HL support (same API support as MX9). 2. Identify your Windows CE Equipment 3. Miscellaneous APIs 4. Peripheral Control APIs 2. Added Windows Mobile section. 3. Modified descriptions: LXEBoot, LXEBootClear, LXEWarmBoot. 4. Modified description: LXEIsPowerGPS. E-SW-WINAPIPG-S [ 533 ] WINAPI CE API Programming Guide