this is a description of all the files which are relevant to coldbooting
a windows ce device.
databases, filesystem, and registry are initialized by filesys.exe
based on the following config files
default.fdf
this is the registry information, as generated by regcomp.exe from the platform builder.
struct header {
DWORD signature; // 0x1d8374b2
DWORD size; // size of entire file
struct entry entry[];
};
struct entry {
WORD entrysize;
WORD entrytype; // 1 = path, 2 = key,value pair
union {
struct pathentry;
struct keyvalentry;
};
};
struct pathentry {
WORD hive; // 0 = HKCR, 1 = HKCU, 2 = HKLM
WORD pathlen; // in nr of wchars
WORD zero; // always 0 !!! this field is not present in wince4.x
WCHAR path[];
};
struct keyvalentry {
WORD valuetype; // 1 = string, 2 = empty, 3 = binary, 4 = dword, 7 = wbinary
WORD keysize; // in nr of wchars
WORD valuesize; // in bytes
WCHAR key[];
BYTE value[];
};
key/path size is including terminating NUL
the key 'Default' is the '@' default key.
initdb.ini
this initializes all databases
initobj.dat
this initializes the filesystem
calibrate + cut-paste tutorial
the program that does this is 'welcome.exe'.
- initobj.dat contains a line that links 'welcome.lnk' into the startup folder.
causing it to run as soon as the shell starts up.
- welcome.exe deletes this link when it is finished
- welcome.lnk contains 'MSWELCOME', which refers to the
'HKLM\SOFTWARE\Microsoft\Shell\Rai\:MSWELCOME' key in the registry,
which points to "\Windows\Welcome.exe"
other things that welcome.exe does:
- ImmDisableIME(0)
- InitRichInkDLL
- RegisterWindowMessage("SHWMappNotify")
- ShowWindow("Taskbar", 0)
- make \My Documents\Templates\*.psi, *.psw, *.xlt, *.pxt ro_hidden
- for all in Comm\DefaultConnections, set ras some params
- do more stuff to device.
- pass 'defaultconfig.xml' to configmanager.dll
- call method that does something with 'voicemail.lnk'
- SHSipPreference(6)
- load imgdecmp.dll
- fload, coredll:2043
- SHSipPreference(2)
- ShowWindow(?, 1)
- TouchCalibrate
- ClockDll ...
- run 'clocknot.exe' at later time.
- deletelink
oeminfo.xml
contains public keys for HTC, and microsoft
.rgu files
since pocketpc 2003, many registry settings have moved from default.fdf to
.rgu files. these files are processed by regupdater.exe,
but I have not yet researched how and when exactly.
AutoConfig.exe
AutoConfig is loaded via a 'startup' item set by initobj.dat.
it locates the operator rom data, and presents a list of supported
configurations found in the customtab.dat file.