Microsoft Windows CE 3.0 Operating System Configurations

Microsoft Corporation

April 2000

Summary: Microsoft® Windows® CE Platform Builder includes eight sample operating system (OS) configurations as well as a special dial-up boot loader configuration. This white paper contains a description of the configuration features and components for each sample OS. (27 printed pages)

Contents

Introduction Minkern Mininput Mincomm Mingdi Minwmgr Minshell Maxall IESample DUB

Introduction

Microsoft Windows CE Platform Builder includes eight sample operating system (OS) configurations as well as a special dial-up boot loader configuration. Each of these configurations has been rigorously tested to ensure that it contains all the components needed to build and function properly.

This white paper contains a description of the configuration features and components for each sample OS. All platforms created in Platform Builder are based on one of the following OS configurations:

  • Minkern—Builds a minimal version of Windows CE.
  • Mininput—Builds a version of Windows CE that features user input and native device driver support.
  • Mincomm—Builds a version of Windows CE that features serial communications and networking.
  • Mingdi—Builds a version of Windows CE that features graphics device interface (GDI) support.
  • Minwmgr—Builds a version of Windows CE that features window management.
  • Minshell—Builds a nearly complete version of Windows CE that features Task Manager and the Command Processor.
  • Maxall—Builds a fully configured version of Windows CE that features communication applications.
  • IESample—Builds a demonstration system that uses Microsoft Internet Explorer Internet browser components.

The dial-up boot loader configuration is described below:

  • DUB—Builds a fully configured version of the dial-up boot loader (DUB). The DUB configuration contains a subset of the Windows CE OS, as well as code designed to download and update an operating system (OS) image using a target device's flash memory.

For a complete list of the modules and components included in a specific configuration, see the Cesysgen.bat file located in %_PROJECTOAKROOT%\Misc.

Minkern

The following table shows the Minkern configuration's features.

Functional area Features
Kernel/OAL Memory, process, management
CoreDLL Generic national language support (NLS)
Functional area Features
  Local heap and memory allocation
File system ROM-based or RAM/ROM-based file system
  Database
  System registry
  Password support
  File Management
  FormatMessage API support
Debugging Debug shell (Shell.exe) and ToolHelp (ToolHelp.dll)

Minkern builds a minimal version of Windows CE that features only the core OS and the Hello World sample application, Hello.exe. A release configuration of Minkern, with the environment variable WINCEDEBUG set to retail, presents the text Hello World! to the debug serial port. A debug configuration with the environment variable WINCEDEBUG set to debug, presents the same message to the debug serial port along with debug zone information. To properly run this sample, enter "s hello" in the Windows CE Debug Shell window.

Minkern uses environment variables to set the driver configurations. These variables are used in various sources files and in the Platform.bib and Platform.reg files, both of which are located in the %_PLATFORMROOT%\%_TGTPLAT%\Files directory. Minkern cannot support drivers. It sets the variables in the following table to exclude unsupported modules from the OS image.

Variable Default setting (set or not set)
ODO_NOSERIAL Set, which excludes the serial driver configuration
ODO_NOAUDIO Set, which excludes the wavedev driver configuration
ODO_NOKEYBD Set, which excludes the keyboard driver configuration
ODO_NONLED Set, which excludes the notification LED driver configuration
ODO_NODISPLAY Set, which excludes the display driver configuration
ODO_NOTOUCH Set, which excludes the touch screen driver configuration
ODO_NOPCMCIA Set, which excludes the PC Card driver configuration
ODO_NOBATTERY Set, which excludes the battery driver configuration
ODO_NOGWES Set, which defines GWES macros

To configure Minkern for your Windows CE project, use the sample environment variables provided in the Cesysgen.bat file. The following table shows the Minkern configuration's environment variables.

Variable Description
MINKERN_NOFMTMSG Removes or includes the FormatMessage application programming interface (API) function
MINKERN_NODATABASE Removes or includes database support
MINKERN_NOPASSWORD Removes or includes password support
MINKERN_NOTOOLHELP Removes or includes the ToolHelp component
MINKERN_NORAMFS Removes or includes a RAM-based file system component
VARIATION1 Removes or includes database, password, and ToolHelp support
VARIATION2 Removes or includes database, password, ToolHelp, and RAM/ROM-based file system support
CE_INCLUDE_CEF Add or removed the Common Executable File format component.

Mininput

The following table shows the Mininput configuration's features.

Functional area Features
Kernel/OAL Memory, process, management
CoreDLL NLS for the United States only
  Local heap and memory allocation
File system ROM-only file system
  System registry
  Password support
  File management
GWES Messaging and user input support
  Power management
  Notification LED support
  Minimal Windowing support (hidden windows)
  User notifications API support (customizable)
Native device drivers Display
  Keyboard, sample
  Battery, sample
  Notification LED, sample
Debugging Shell.exe and ToolHelp.dll

Mininput builds a minimal version of Windows CE that features user input device driver support, such as the keyboard. Mininput also supports the sample code included with Platform Builder for supporting a keyboard, battery, and notification LED. Mininput includes a sample application, Kbdmsg.exe, which accepts keyboard input and displays the appropriate key codes to the debug serial port.

Mininput uses environment variables to set the driver configurations. These variables are used in various sources files and in the Platform.bib and Platform.reg files, both of which are located in the %_PLATFORMROOT%\%_TGTPLAT%\Files directory. The Mininput configuration does not support generic device driver support but does support drivers loaded by the GWES system module. The following table shows the default settings used to include the supported platform drivers for this configuration.

Variable Default setting (set or not set)
ODO_NOSERIAL Set, which excludes the serial driver configuration
ODO_NOAUDIO Set, which excludes the wavedev driver configuration
ODO_NOKEYBD Not set, which includes the keyboard driver configuration
ODO_NONLED Set, which excludes the notification LED driver configuration
ODO_NODISPLAY Set, which excludes the display driver configuration
ODO_NOTOUCH Not set, which includes the touch screen driver configuration
ODO_NOPCMCIA Set, which excludes the PC Card driver configuration
ODO_NOBATTERY Set, which excludes the battery driver configuration
ODO_NOGWES Not set, which is used in the sources file in %_PLATFORMROOT%\%_TGTPLAT%\Gwe to define GWES macros

To configure Mininput for your project, use the sample environment variables provided in the Cesysgen.bat file. The following table shows the Mininput configuration's environment variables.

Variable Description
MININPUT_NOIDLE Removes or includes an idle component. By default, this component is removed for the Windows CE PC-based hardware development platform (CEPC).
MININPUT_NOPOWER Removes or includes a power management component. By default, this component is removed for the CEPC.
MININPUT_NONLED Removes or includes an LED component. By default, this component is removed for the CEPC.
MININPUT_NOTIFY Removes or includes user notifications API support.
VARIATION1 Removes or includes battery, idle state, power management, and notification LED support.
CE_INCLUDE_CEF Add or removes the Common Executable File format component.

Mincomm

The following table shows the Mincomm configuration's features.

Functional area Features
Kernel/OAL Memory, process, management
CoreDLL Generic NLS or USA specific NLS
Functional area Features
  Local heap and memory allocation
  Serial port device driver thunks
  Communications support for serial communications and Telephony API (TAPI)
  Crypto 1.0 APIs with two cryptographic service providers (CSPs): Rsabase.dll (40-bit) and Rsaenh.dll (128-bit)
File system RAM/ROM-only file system
  System registry
  File management
  Password
  Database
Device Manager Generic device driver support
  PC Card support
GWES Messaging and user input support
  Network UI dialog boxes
  Minimal messaging, user, and windowing support
  User notifications API support (customizable)
Communications: Serial Basic serial communications support
  Infrared (IR) support
  PC Card support
Communications: Networking Winsock APIs
  Schannel with Server Gated Cryptographic (SGC) support, and SCHNLUSA (128-bit)
  TCP/IP and IR
  Network Driver Interface Specification (NDIS) for local area networks (LANs)
  Dynamic Host Configuration Protocol (DHCP)
  Serial Line Internet Protocol (SLIP) and Point-to-Point Protocol (PPP)
  Remote Access Service (RAS)
  WNet/Server Message Block (SMB) redirector
Communications: Other TAPI
  Customizable Network UI
  IP configuration tool
  IPHelper APIs
  NTLM
  Secure sockets
  MSMQ
Functional area Features
  Sample network drivers: NDIS
Management SNMP server
  SNMP MIDs
COM/OLE/DCOM Component Object Model (COM), OLE, OLE Automation, Istorage support, or DCOM support
Stream interface drivers Unimodem
  Serial, sample: IrComm
  PC Card, sample
Servers HTTP
Debugging Shell.exe and ToolHelp.dll

Note The SNMP module contains the APIs that are required to support the Simple Network Management Protocol (SNMP). To implement SNMP in a Windows CE-based platform, you must include the PPP module in the platform OS configuration.

Mincomm builds a minimal version of Windows CE that features serial communications and networking. A sample communications application, Rasdemo.exe, creates a phone-book entry on the target device and attempts to connect with the specified RAS server. Mincomm requires either the IRComm, Irdastk, and Serial components; and, if TCP is included, then either NDIS or PPP is required. For a list of communication component dependencies, see the Mincomm text document in %_PUBLICROOT%\Mincomm\Oak\Misc.

Mincomm uses environment variables to set the driver configurations. These variables are used in various sources files and in the Platform.bib and Platform.reg files, both of which are located in the %_PLATFORMROOT%\%_TGTPLAT%\Files directory. The following table shows the default settings for the environment variables that set the driver configuration for Mincomm.

Variable Default setting (set or not set)
ODO_NOSERIAL Not set, which includes the serial driver configuration
ODO_NOAUDIO Set, which excludes the wavedev driver configuration
ODO_NOKEYBD Set, which excludes the keyboard driver configuration
ODO_NONLED Set, which excludes the notification LED driver configuration
ODO_NODISPLAY Set, which excludes the display driver configuration
ODO_NOTOUCH Set, which excludes the touch screen driver configuration
ODO_NOPCMCIA Not set, which includes the PC Card driver configuration
ODO_NOBATTERY Set, which excludes the battery driver configuration
Variable Default setting (set or not set)
ODO_NOGWES Not set, which is used in sources file in %_TGTPLAT%\Gwe to define GWES macro definitions
ODO_NOMOUSE Set, which is used in the sources file in %_PLATFORMROOT%\Cepc\Drivers\Mouse\Sermouse to define macro definitions

To configure Mincomm for your project, use the sample environment variables provided in the Cesysgen.bat file. The following table shows the Mincomm configuration's environment variables.

Variable Description
MINCOMM_DCOM Includes DCOM support and full COM support. Note: this variable requires MINCOMM_OLE.
MINCOMM_NOPPP Removes or includes a PPP component. Requires TCP/IP, Serdev, and TAPI components. Unimodem component is optional.
MINCOMM_NOSERDEV Removes or includes a serial driver component.
MINCOMM_NOTAPI Removes or includes a telephony component.
MINCOMM_NONDIS Removes or includes an NDIS component. Requires a TCP/IP component.
MINCOMM_NOTCP Removes or includes a TCP/IP component. Requires either a PPP or an NDIS component.
MINCOMM_NOIRCOMM Removes or includes an infrared communications component. Requires an IR component.
MINCOMM_NOIRDA Removes or includes an IR component. Requires the Serdev component.
MINCOMM_NOMODEM Removes or includes a Unimodem component. Requires a PC Card component.
MINCOMM_NOPCMCIA Removes or includes a PC Card driver component.
MINCOMM_NOSECURE Removes or includes a security component.
MINCOMM_NONETUI Removes or includes a Network UI component. Default set for 1, which excludes the Network UI.
MINCOMM_NOREDIR Removes or includes a network redirector component.
VARIATION1 Removes or includes PPP, TCP, NDIS, TAPI, Unimodem, network redirector, WinInet, FTP, security, PC Card driver, and Network UI support.
MINCOMM_OLE Removes or includes COM, OLE, OLE Automation, and Istorage support.
MINCOMM_NOTIFY Removes or includes user notifications API support.
MINCOMM_NORASDEMO Removes or includes Rasdemo.exe.
CE_INCLUDE_CEF Adds or removes the Common Executable F format component.
MINCOMM_LOCUSA Removes or includes support for the USA-specific NLS files.
Variable Description
MINCOMM_NOPASSWORD Removes or includes the password components.
MINCOMM_NOSNMP Removes or includes support for the SNMP component.
MINCOMM_MSMQ Removes or includes MSMQ.
MINCOMM_SERVERS Removes or includes support the HTTP server.

Mingdi

The following table shows the Mingdi configuration's features.

Functional area Features
Kernel/OAL Memory, process, management
CoreDLL Generic NLS
  Local heap and memory allocation
File system RAM/ROM-only file system and file management
  Database
  System registry
  Password support
GWES Messaging, user, and windowing support
  Power management
  Notification LED support
  User notifications API support (customizable)
  GDI support, including TrueType or raster fonts, text drawing, palette, and printing support
  Customizable Touch Screen Calibration UI
Native device drivers Display
  Keyboard, sample
  Battery, sample
  Notification LED, sample
Debugging Shell.exe and ToolHelp.dll

Mingdi builds a minimal version of Windows CE that features GDI support. One sample application, Text.exe, tests the graphic output of the target device.

Mingdi uses environment variables to set the driver configurations. These variables are used in various sources files and in the Platform.bib and Platform.reg files, both of which are located in the %_PLATFORMROOT%\%_TGTPLAT%\Files directory. The following table shows the default settings for the environment variables that set the driver configuration for Mingdi.

Variable Default setting (set or not set)
ODO_NOSERIAL Set, which excludes the serial driver configuration
ODO_NOAUDIO Not set, which includes the wavedev driver configuration
ODO_NOKEYBD Not set, which includes the keyboard driver configuration
ODO_NONLED Not set, which includes the notification LED driver configuration
ODO_NODISPLAY Not set, which includes the display driver configuration
ODO_NOTOUCH Not set, which includes the touch screen driver configuration
ODO_NOPCMCIA Set, which excludes the PC Card driver configuration
ODO_NOBATTERY Not set, which includes the battery driver configuration
ODO_NOGWES Not set, which is used in the sources file in %_PLATFORMROOT%\
%_TGTPLAT%\Gwe to define GWES macros

To configure Mingdi for your project, use the sample environment variables provided in the Cesysgen.bat file. The following table shows the Mingdi configuration's environment variables.

Variable Description
MINGDI_NOTRUETYPE Removes or includes a TrueType font component
MINGDI_NOPRINT Removes or includes a printing component
MINGDI_NODRWTXT Removes or includes a text drawing component
MINGDI_NOPALETTE Removes or includes a color palette component
MINGDI_NOTIFY Removes or includes user notifications API support
VARIATION1 Removes or includes TrueType font, printing, text drawing, and color palette support
CE_INCLUDE_CEF Adds or removes the Common Executable File Format component.

Minwmgr

The following table shows the Minwmgr configuration's features.

Functional area Features
Kernel/OAL Memory, process, management
CoreDLL Generic NLS
  Local heap and memory allocation
  Communications support: Serial and TAPI
  WAV API support
  Input Method Manager (IMM) support
  Console API support
  STDIO and C runtime support
  Floating point emulation support
Functional area Features
File system RAM/ROM-only file system and file management
  Database
  System registry
  Password support
  FAT file system driver
GWES Messaging and user input support
  Windowing, and GDI support
  Power management
  Notification LED support
  User notifications API support (customizable)
  GDI support, including raster fonts, text drawing, palette, and printing support
  Customizable Touch Screen Calibration UI
  WAV API and Pulse Code Modulation (PCM) support
  IMM support
  Window and dialog box management
  Customizable Startup and Out of Memory UIs
  Cursor support
Communications:
Serial
IR support
Communications:
Networking
Winsock APIs
  Network UI dialog boxes
  Schannel with SGC support, and SCHNLUSA (128-bit)
  TCP/IP and IR
  NDIS for LANS
  DHCP
  SLIP/PPP
  RAS
Communications:
Other
TAPI
  Customizable Network UI
  Sample network drivers: NDIS, USB
Native device drivers Display
  Keyboard, sample
  Battery, sample
  Notification LED, sample
Functional area Features
  Touch screen, sample
  Audio, sample
Stream interface drivers Unimodem
  Block device drivers
COM/OLE COM, OLE, OLE Automation
Debugging Shell.exe and ToolHelp.dll

Minwmgr builds a minimal version of Windows CE that features window management and includes a simple drawing application, Etcha.exe. Minwmgr does not set any environment variables that are specific to a particular hardware development platform.

To configure Minwmgr for your project, use the sample environment variables provided in the Cesysgen.bat file. The following table shows the Minwmgr configuration's environment variables.

Variable Description
MINWMGR_NOIRDA Removes or includes an IR component. Requires the Serdev component. For a CEPC, the default setting is 1, which removes the IR component.
MINWMGR_NOOLE Removes or includes an OLE component.
MINWMGR_NOFATFS Removes or includes a FAT file system component. For a CEPC, the default setting is 1, which removes the FAT file system component.
MINWMGR_NOAUDIOMGR Removes or includes an Audio Manager component.
MINWMGR_NOCURSOR Removes or includes a cursor component. For a CEPC, the default setting is 0, which excludes the cursor component.
MINWMGR_NOTIFY Removes or includes user notifications API support.
VARIATION1 Removes or includes IR, Audio Manager, and OLE support.
CE_INCLUDE_CEF Adds or removes the Common Executable File format component.

Minshell

The following table shows the Minshell configuration's features.

Functional area Features
Kernel/OAL Memory, process
CoreDLL Generic NLS
  Local heap and memory allocation
  Messaging, user input, windowing, and GDI support
  Communications support: Serial and TAPI
Functional area Features
  WAV API support
  IMM support
  Stdio support
  Shell API support
  Keyboard accelerator support
  FormatMessage
File system RAM, ROM, and Installable File System (IFS) support
  Database
  System registry
  Password support
  FAT file system
GWES Messaging and user input support, including standard window controls (buttons, edit, scroll bars, and so on)
  Power management
  Notification LED support
  GDI support, including TrueType, text drawing, palette, and printing support
  Customizable Touch Screen Calibration UI
  WAV API and PCM manager
  Window and dialog box management
  Customizable Startup, Out of Memory, Touch Screen Calibration, and Notification UIs.
  User notification API support
  Windows CE common controls
  Keyboard accelerator support
  Icons and cursors
Communications:
Serial
Basic serial communications support
  IR support
  Serial over PC Card
Communications:
Networking
Winsock APIs
  Network UI dialog boxes
  Schannel with SGC support, and SCHNLUSA (128-bit)
  TCP/IP and IR
  NDIS for LANS
  DHCP
Functional area Features
  SLIP/PPP
  RAS
  WNet/SMB redirector
Communications:
Other
TAPI
  Customizable Network UI
Device Manager Generic device driver support
Native device drivers PC Card socket
  Keyboard, mouse
  Battery
  Notification LED
  Touch screen
  Display
Installable drivers (stream and other models) PC Card sample driver (CardTest)
  Console support
  NDIS Miniport drivers
  ATA disk
  Static RAM (SRAM) disk
  Serial sample
  USB human interface device (HID) driver and mouse driver
  Audio
COM/OLE COM, OLE, OLE Automation, Istorage support
Windows CE shell components Desktop and Task Manager
  Command-line processor
Debugging Shell.exe and ToolHelp.dll

Minshell builds a nearly complete version of Windows CE that features the Command Processor and Task Manager. Minshell includes two sample applications: Spintest.exe and Generic.exe.

Minshell uses environment variables to set the driver configurations. These variables are used in various sources files and in the Platform.bib and Platform.reg files, both of which are located in the %_PLATFORMROOT%\%_TGTPLAT%\Files directory. The following table shows the default settings for the environment variables that set the driver configuration for Minshell.

Variable Default setting (set or not set)
IMGUSB Set, which includes USB components
IMGNSCFIR Set, which includes the National Semiconductor Fast Infrared (NSCFIR) component. To use the standard SIR driver, you need to remove the following command line from Minshell.bat.

Set IMGNSCFIR = 1.

To configure Minshell for your project, use the sample environment variables provided in the Cesysgen.bat file. The following table shows the Minshell configuration's environment variables.

Variable Description
MINSHELL_NOCURSOR Removes or includes a cursor component
CE_INCLUDE_CEF Adds or removes the Common Executable File format

Maxall

The following table shows the Maxall configuration's features.

Functional area Features
Kernel/OAL Memory, process
CoreDLL Full NLS-capable APIs
  Local heap and memory allocation
  Messaging, user input, windowing, and GDI support
  Communications support for serial communications and TAPI
  Crypto 1.0 APIs with two CSPs: Rsabase.dll and Rsaenh.dll
  WAV API support
  IMM support
  Stdio support
  C runtime support
  FileInfo and FileOpen common dialogs
  Shell API support
  Soft input panel support, including sample IM (English/Korean/Japanese)
  FormatMessage API support and Message resources
  Keyboard accelerator support
  TAPI API support
  WAV APIs
  Crypto APIs
File system RAM, ROM and IFS support
  Database
  System registry
  Password support
  FAT file system
GWES Messaging, and user input support including support for standard window controls, such as buttons, edit controls, and scroll bars
  Japanese language support, including support for edit controls, IME, and Japanese characters
  Korean language support, including support for edit controls, IME, and Korean characters
  Timer message support
  Clipboard support
  Power management
  Notification LED support
  GDI support, including TrueType, text drawing, palette, and printing support
  Customizable Touch Screen Calibration UI
  Network UI dialog boxes
  WAV API and PCM manager
  IMM support
  Window and dialog box management
  Customizable Startup, Out of Memory, Touch Screen Calibration, and Notification UIs.
  User notifications API support
  Windows CE common controls and common dialog boxes
Communications:
Serial
Basic serial communications support
  IR support
  Serial over PC Card
Communications:
Networking
Winsock APIs
  Schannel with SGC support, and SCHNLUSA (128-bit)
  TCP/IP and IR
  NDIS for LANS
  DHCP
  SLIP/PPP
  RAS
  WNet/SMB redirector
Communications:
Other
TAPI
  Customizable Network UI
Native device drivers Display
  PC Card socket
  Keyboard and mouse
  Battery
  Notification LED
  Touch screen
Installable drivers (stream or other models) USB HID and mouse driver
  Open host controller (OHC), sample
  CardTest, sample PC Card driver
  NDIS minidrivers
  ATA disk
  SRAM disk
  Serial, sample
  Audio
COM/OLE COM, OLE, OLE Automation, Istorage or full DCOM/COM support
DCOM  
Add-in technologies Handwriting recognition support
  Spelling checker
  Microsoft Message Queue Server (MSMQ)
  Microsoft Jscript® development software
  HTTP Server
Windows CE shell components Command Processor
  Control Panel applications
  Handheld PC style shell
Applications Communications
  Microsoft Pocket Internet Explorer Internet browser
  Microsoft Pocket Word
  Inbox
  Help for Windows CE
Debugging Shell.exe and ToolHelp.dll

Maxall builds a fully configured version of Windows CE that features communications applications and IMM. IMM is a component that handles communications between Input Method Editors (IMEs) and applications. An IME is an application that performs the conversion between keystrokes and ideographs or other characters, usually by user-guided dictionary lookup.

You can localize Maxall for a Japanese or Korean build by setting the environment variable COUNTRY=JAPAN/KOREA. When this variable is set to JAPAN, the IME-aware edit control and handwriting recognition modules for Japanese are included.

Maxall supports font linking, making it possible to link one or more fonts to another font. The file Project.reg in the %_PROJECTOAKROOT%\Maxall\Oak\Files directory contains the [HLM\SOFTWARE\Microsoft\FontLink\SystemLink] and [HCU\EUDC] sections, which link the Japanese fonts to the English font and the end-user-defined characters (EUDC) with the English and Japanese fonts. If your project does not require this capability, use IF and ENDIF statements to control the selection of font linking.

Note Platform Builder includes IMEs for Korean and Japanese. For all other languages, the Windows CE support for IMM and IME is limited to the IMM component. You need to provide any additional IME support.

Maxall uses environment variables to set the driver configurations. These variables are used in various sources files and in the Platform.bib and Platform.reg files, both of which are located in the %_PLATFORMROOT%\%_TGTPLAT%\Files directory. The following table shows the default settings for the environment variables that set the driver configuration for Maxall.

Variable Default setting (set or not set)
IMGUSB Set, which includes the USB components

To configure Maxall for your project, use the sample environment variables provided in the Cesysgen.bat file. The following table shows the Maxall configuration's environment variables.

Variable Description
MAXALL_DCOM Removes or includes DCOM support.
MAXALL2_NOCURSOR Removes or includes a cursor component.
MAXALL_NOJSCRIPT Removes or includes Jscript
MAXALL_TASKMAN When set to 1 in DOS, a shell for Task Manager only is added to the OS image. When set to 0 or not set at all, the Handheld PC style shell is added to the OS image.
MAXALL_NOHELP When set to 1, the Peghelp module is not added to the OS image. Otherwise, it is added to the OS image.
CPLMAIN_LP When set to L, the Handheld PC–style Control Panel is specified. When set to P, the Palm-size PC–style Control Panel is specified.
Variable Description
MAXALL_NOPWORD When set to 1, the Pocket Word module is not added to the OS image. Otherwise, Pocket Word is included.
MAXALL_NOPMAIL When set to 1, the Inbox module is not added to the OS image. Otherwise, it is added to the OS image.
MAXALL_NOPIE When set to 1, the Pocket Internet Explorer module is not added to the OS image. Otherwise, it is added to the OS image.
CE_INCLUDE_CEF Removes or includes the Common Executable File format component.
MAXALL_NKNOCOMP Adds/removes the compression component of the Kernel.
IME Specifies which IME to include in the OS image. It can be set to one of the following values:

PIME

IME98

TESTIME

If the variable is not set, IME98 is used.

SIPSELECT Removes or includes support for a Japanese component that is a sample showing how to switch between IMs.
MULTIBOX Removes or includes support for a Japanese input method (IM). An IM is a COM component that allows the user to input text using a touch screen.
MAXALL_NOSERVERS Removes or includes support for the Hypertext Transfer Protocol (HTTP) server. HTTP is the client/server protocol used to access information on the Web.

IESample

The following table shows the IESample configuration's features.

Functional area Features
Kernel/OAL Memory, process
CoreDLL Full NLS-capable APIs
  Local heap and memory allocation
  Serial port device driver thunks
  Messaging, user input, windowing, and GDI support
  Communications support: Serial and TAPI
  Crypto 1.0 APIs with two CSPs: Rsabase.dll and Rsaenh.dll
  WAV API support
  IMM support
  Stdio support
  Shell API support
  Soft input panel support, including sample IM (English)
  FormatMessage API support
  Keyboard accelerator support
File system RAM, ROM, and IFS support
  Database
  System registry
  Password support
  FAT file system
GWES Messaging and user input support, including standard window controls (buttons, edit, scroll bars, and so on)
  Japanese language support, including edit control, IME, font, and so on
  Korean language support, including edit control, IME, font, and so on
  Timer message support
  Clipboard support
  Power management
  Notification LED support
  GDI support, including TrueType and raster fonts, text drawing, palette, and printing support
  Customizable Touch Screen Calibration UI
  Network UI dialog boxes
  WAV API and PCM manager
  IMM support
  Window and dialog box management
  Customizable Startup, Out of Memory, Touch Screen Calibration, and Notification UIs.
  Console support
  User notifications API support
  Windows CE common controls and common dialog boxes
  Handwriting recognition support
  Input panel support
Communications:
Serial
Basic serial communications support
  IR support
  Serial over PC Card
Communications:
Networking
Winsock APIs
  Schannel with SGC support, and SCHNLUSA (128-bit)
  TCP/IP and IR
  NDIS for LANS
  DHCP
  SLIP/PPP
  RAS
  WNet/SMB redirector
  Internet Protocol using WinInet
  WinInet FTP support
Communications:
Other
TAPI
  Customizable Network UI
  Sample drivers: NDIS, USB
Native device drivers Display
  Keyboard, sample
  Battery, sample
  Notification LED, sample
  Touch screen, sample
  Audio, sample
  HID driver
  Mouse driver
Stream interface drivers Unimodem
  ATA disk
  SRAM disk
  Serial, sample
  PC Card, sample
COM/OLE COM, OLE, OLE Automation, Istorage, Stg, Olemain
Add-in technologies Handwriting recognition support
  Jscript
  Mlang
Windows CE shell components Command Processor
  Control Panel applications
  Handheld PC style shell
Debugging Shell.exe and ToolHelp.dll
Web browser Sample Host UI
  Web browser control

IESample builds a sample version of Windows CE with the Windows CE version of an Internet Explorer–based Web browser control. Microsoft Internet Explorer for Microsoft Windows CE is the most compatible, feature-rich browser control for the Windows CE operating system (OS). Developers, OEMs, independent software vendors (ISVs), and independent hardware vendors (IHVs) can use the technologies provided by Internet Explorer for Windows CE to build a custom browser for a specific device or market.

Internet Explorer for Windows CE supports Dynamic HTML, Win32® Internet functions, asynchronous pluggable protocols, URL monikers, MSHTML, the WebBrowser control, and MLang. Internet Explorer for Windows CE also supports the following items:

  • ActiveX® controls installed on the Windows CE device (no downloads).
  • Cascading style sheet support (compliant with CSS1 core functionality).
  • Full event model for all tags and objects.
  • Integration of JScript and objects.
  • International language support (Unicode characters).
  • Images (.gif, .jpeg, .bmp, and .xbm).
  • Multimedia (using Microsoft® DirectShow®).

Currently, the C/C++ and COM references that are supported in the Internet Explorer for Windows CE have a Windows CE section included in their reference page. This section indicates the version of Windows CE that supports the API and the minimum version of Internet Explorer that is required.

This configuration includes the same components as the Maxall configuration, except that IESample does not include the Pocket Internet Explorer, Pocket Word, Inbox, Help for Windows CE, and MSMQ components. In addition, IESample includes the IESample Web browser control and UI host, an IESample sample application for hosting the Web browser control with full Windows CE localization support. Localized builds support localized Web page rendering. IESample also includes an IMM, which is a module that handles communications between IME and applications. An IME is an application that performs the conversion between keystrokes and ideographs or other characters, usually by user-guided dictionary assistance.

You can localize IESample for a Japanese or Korean build by setting the environment variable COUNTRY=JAPAN/KOREA. When this environment variable is set to JAPAN, the IME-aware edit control and handwriting recognition modules for Japanese are included.

Maxall supports font linking, making it possible to link one or more fonts to another font. The file Project.reg in %_PROJECTOAKROOT%\Maxall\Oak\Files contains the [HLM\SOFTWARE\Microsoft\FontLink\SystemLink] and [HCU\EUDC] sections, which link the Japanese fonts to the English font and the EUDC fonts with the English and Japanese fonts. If your Windows CE project does not require this capability, use IF and ENDIF statements to control font linking selection.

Note Platform Builder includes IMEs for Korean and Japanese. For all other languages, Windows CE support for IMM and IME is limited to the IMM component. OEMs need to provide any additional IME support.

The following table shows the IESample configuration's environment variable.

Variable Description
CE_INCLUDE_CEF Removes or includes support for CEF.

DUB

The following table shows the DUB configuration's features.

Functional area Features
Kernel/OAL Memory, process
CoreDLL Local heap and memory allocation
  Serial port device driver thunks
  Messaging, user input, windowing, and GDI support
Serial modem transport FTP, PPP
  RAS
Parallel port transport Parallel driver
Flash programming Hardware-dependent and hardware-independent routines
Download security Microsoft Cryptography services
Web setup Sample Microsoft ActiveX controls
User interface Standard Windows CE controls
DUB utilities MergeBin, SliceBin, MakeKey, MKSigs, AddSigs

DUB builds a project within Platform Builder that is based on a subset of the Windows CE OS. The DUB project is designed to reuse many Windows CE components and yet maintain ROM use of 2 MB or less. You can use the project build variables to customize the build by including or precluding components to meet your hardware capabilities. Once you have set the variables, use the Sysgen tool (Sysgen.bat) to transfer the appropriate Windows CE components to the project directories.

The DUB project consists of sample code. You can customize this code for your Windows CE platforms and applications. Because you build the downloadable Windows CE OS for flash memory, you must set the IMGFLASH environment variable to 1.

© 2000 Microsoft Corporation. All rights reserved.

The information contained in this document represents the current view of Microsoft Corporation on the issues discussed as of the date of publication. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information presented after the date of publication.

This white paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.

Microsoft, ActiveX, Jscript, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries/regions.

Other product and company names mentioned herein may be the trademarks of their respective owners.

Microsoft Corporation, One Microsoft Way, Redmond, WA 98052-6399 USA

4/00