your Windows® embedded community
[HKEY_LOCAL_MACHINE\SOFTWARE\MegaSoft\KillerApp]
"Version"=dword:0400
"Build"=dword:0b3f
"Greeting"="Howdy!"
"Messages"=multi_sz:"Windows CE is Cool!","KillerApp is Super Cool!"
"AppData"=hex:01,00,02,00,03,00In this example, a new key is created for the MegaSoft software company for their KillerApp. The following values are added to that key.| Version | REG_DWORD | 0x0400. DWORD value types are always in hex and therefore the "0x" prefix is not used. |
| Build | REG_DWORD | 0x0b3f |
| Greeting | REG_SZ | "Howdy!" |
| Messages | REG_MULTI_SZ | "Windows CE is Cool!\0KillerApp is Super Cool!\0\0" |
| AppData | REG_BINARY | 01,00,02,00,03,00 Hex is always assumed here as well. |
root:-Directory("Program Files")
Directory("\Program Files"):-Directory("KillerApp")
Directory("\Program Files\KillerApp"):-File("KillerApp.lnk","\Windows\KillerApp.lnk")This sample creates the Program Files folder off of the root of the file system. Inside that folder, it creates a new one called KillerApp, and lastly it copies the KillerApp shortcut (.LNK file) to the newly created folder. The user can now navigate to Program Files\KillerApp and click on the shortcut to start the application.; This is the database initialization file.
; format is as follows -
; Database :
db name
:
type in hex
:
num sort order
:
hex propid
:
hex flags
....
; CEDB_SORT_DESCENDING 0x00000001
; CEDB_SORT_CASEINSENSITIVE 0x00000002
; CEDB_SORT_UNKNOWNFIRST 0x00000004
; CEDB_SORT_GENERICORDER 0x00000008
; A database specifier can be followed by any number of record specifiers
; Record :
; A record specifier can be followed by any number of field specifiers
; Field :
hex propid
:
value
[ either string or hex dword ]
; End (ends a matching database or a record context)
Database: "DB_notify_events" : 0 : 1 : 0001001F : 0
; 0001001F - PROPIDR_NAME
; 0002001F - PROPIDR_CMDLINE
; 00030013 - PROPIDR_EVENT
Record :
Field : 0001001F : "repllog.exe"
Field : 0002001F : "AppRunAtRs232Detect"
Field : 00030013 : 9
End
End DatabaseThis DB file will set up the notification database to run REPLLOG whenever an RS232 event is triggered. This will start the connection process on the default "hot plug" port for ActiveSync.
Target Name
Whitespace
Workstation path
memory Section
flags
Target Name
is the name of the file as it will appear in the ROM.
Workstation path
is the path ROMIMAGE will use to find the actual file (normally based on $(_FLATRELEASEDIR)). The memory section will be "NK" with few exceptions. (Boot loaders are a common exception).| C | Compressed (default for files section) |
| U | Uncompressed (default for modules section) |
| R | Compress resources only |
| H | Hidden file |
| S | System file |
name
Virtual Address
Size
TYPE
where TYPE is one of the following:| Description | |
| RAM | Specifies a region of RAM available to running processes and the RAM-based Windows CE file system. The region must be contiguous. |
| RAMIMAGE | Specifies that the region should be treated like ROM. The kernel copies all writeable sections for an application into RAM and fixes the memory addresses prior to starting the application process. |
| RESERVED | Specifies that a region of RAM is reserved. Currently, Romimage.exe ignores this field, so it functions only as a comment. This memory might be a video frame buffer or a direct memory access (DMA) buffer. Do not overlap reserved regions with other memory regions. Windows CE .NET provides a means of allocating such buffers programmatically, so the use of reserved is now effectively obsolete. |
About the Author: Mike Hall is Technical Product Manager on the Microsoft Windows CE team. Among other things, he writes an extensive (and often entertaining) blog that's published on Microsoft's MSDN developer website.