wince 注册表文件 platform.reg 详解
一、HIVE 注册表功能
[HKEY_LOCAL_MACHINE/init/BootVars]
"SystemHive"="Documents and Settings//System.hv"
"ProfileDir"="Documents and Settings"
"DefaultUser"="default"
"Start DevMgr"=dword:1
"Flags"=dword:3
"RegistryFlags"=dword:1
说明:
SystemHiv
系统HIVE文件的保存路径与文件名
ProfileDir
用户配置文件保存路径
DefaultUser
默认加载的用户HIVE文件
Start DevMgr
启动时加载设备管理器
Flags
这个值替代Start DevMgr,可以在包括Start DevMgr的功能前提下提供更精确的控制
Flag bit setting
|
Description
|
0x00000001
|
Starts Storage Manager in phase one of startup for hive-based registry
(为了实现HIVE,启动时加载存储管理器)
|
0x00000002
|
Starts Device Manager in phase one of startup for hive-based registry
(为了实现HIVE,启动时加载设备管理器)
|
0x00000004
|
Starts Storage Manager in phase one of startup for registry in external ROM, such as BINFS
(为了注册扩展ROM例如BINFS,在启动时加载存储管理器)
|
0x00000008
|
Starts Device Manager in phase one of startup for registry in external ROM, such as BINFS
(为了注册扩展ROM例如BINFS,在启动时加载设备管理器)
|
RegistryFlags
在调用RegCloseKey函数时自动调用RegFlushKey函数,用于自动保存注册表
设备管理器会加载
HKEY_LOCAL_MACHINE/Drivers/BuiltIn 下的所有设备驱动
二、存储管理
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles]
"AutoMount"=dword:1
"AutoPart"=dword:0
"AutoFormat"=dword:0
"MountFlags"=dword:0
"DefaultFileSystem"="FATFS"
"PartitionDriver"="mspart.dll"
"Folder"="Mounted Volume"
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/SMFLASH]
"DefaultFileSystem"="BINFS"
"AutoPart"=dword:1
"AutoMount"=dword:1
"PartitionDriver"="mspart.dll"
"Name"="Microsoft Flash Disk"
"Folder"="ResidentFlash"
"BootPhase"=dword:0
"AutoFormat"=dword:1
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/HDProfile]
"Name"="IDE Hard Disk Drive"
"Folder"="Hard Disk"
"AutoMount"=dword:1
"DefaultFileSystem"="EXFAT"
"PartitionDriver"="mspart.dll"
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/HDProfile/FATFS] FATFS部分的定义
"EnableCacheWarm"=dword:0
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/HDProfile/PartitionTable]
"07"="" (该值表示对于NTFS类型的分区,不加强任何文件系统)
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/SDMMC]
"Name"="SD MMC device"
"Folder"="SD Card"
该分支可以的定义如下
Flag
|
Description
|
"AutoFormat"
|
是否自动格式化(1-是,0-否)
|
"AutoMount"
|
是否自动挂载(1-是,0-否)
|
"AutoPart"
|
是否自动分区(1-是,0-否)
|
"DefaultFileSystem"
|
对于未知的分区表ID,默认识别为的分区类型,例如BINFS
|
"Folder"
|
挂载目录名
|
"MountFlags"
|
从Win CE 5.0开始废除. 用于标识分区挂载方式.
|
"Name"
|
STOREINFO (Storage Manager) 结构体的.
szStoreName成员变量值
|
"PartitionDriver"
|
默认加载的分区驱动
|
三、文件系统
1、Autoload 设置
[HKEY_LOCAL_MACHINE/System/StorageManager/Autoload/Relfsd]
"Dll"="relfsd.dll"
"Paging"=dword:1
"LoadFlags"= dword:1
Value: type
|
Description
|
LoadFlags: REG_DWORD
|
控制如何加载文件系统.
1 –同步加载文件系统. 需要在启动的0或1阶段自动加载
2 –在另一个线程异步加载. 只支持在启动的2阶段,(默认值)
|
BootPhase: REG_DWORD
|
控制在核实加载文件系统.
0 – 在本地初始化之前加载.
1 -在本地初始化之后加载, 在注册表功能加载完成之前.
2 – 在注册表功能加载完成之后.
|
Dll: REG_SZ
|
制定 FSD DLL 文件
|
Order: REG_DWORD
|
指定加载顺序,值越小越先加载.
|
2、文件系统设置
[HKEY_LOCAL_MACHINE/System/StorageManager/FATFS];总定义
"FriendlyName"="TFAT FileSystem"
"Flags"=dword:00000014
"Dll"="exfat.dll"
"CacheSize"=dword:0
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/SMFLASH/FATFS];详细定义
"Flags"=dword:14
"FormatTfat"=dword:1
“MountAsBootable”= dword:1
"CheckForFormat"=dword:1
Registry value: Type
|
Description
|
BufferSize: REG_DWORD
|
缓冲区大小.
默认值 64 for TFAT 32 for FAT.
|
CacheSize: REG_DWORD
|
磁盘缓存大小以扇区为单位. 设置为0则自动使用最佳缓存.
|
CodePage: REG_DWORD
|
Overrides CP_OEMCP in all character conversions.
|
Dll: REG_SZ
|
DLL文件名.
|
EnableCache: REG_DWORD
|
是否启用缓存
0 – 禁用 1 – 启用
|
EnableCacheWarm: REG_DWORD
|
Enables pre-warming of the cache.
|
Flags: REG_DWORD
|
详见下表.
|
FormatTfat: REG_DWORD
|
格式化为TFAT
|
FriendlyName: REG_SZ
|
Specifies a friendly name for the file system.
|
MountLabel: REG_DWORD
|
卷标名
|
Paging: REG_DWORD
|
分页 0-禁用 1-启用.
|
Util: REG_SZ
|
Specifies the DLL name of utility to do format and scan
|
CheckForFormat
对于Flash Media Drivers(FMD)来说,设置这个标志位,则会调用IOCTL_HAL_QUERY_FORMAT_PARTITION这个ioctl
Flag
|
Description
|
"MountFlags"
|
从Win CE 5.0开始废除
|
"MountHidden"
|
隐藏挂载. 1 – 启用. 替代
"MountFlags"=dword:1
|
"MountAsBootable"
|
是否包含注册表. 第一个挂载的分区存储HIVE注册表. 1 – 启用
替代
"MountFlags"=dword:2
|
"MountAsRoot"
|
是否挂载为根文件系统. 1 – 启用. 替代
"MountFlags"=dword:4
|
"MountAsROM"
|
是否挂载为扩展ROM文件系统. 1 – 启用. 替代
"MountFlags"=dword:10
|
"MountSystem"
|
所有文件和目录作为系统文件. 1 – 启用. 替代
"MountFlags"=dword:20
|
"MountPermanent"
|
此卷不能卸载. 1 – 启用. 替代
"MountFlags"=dword:40
|
"MountAsNetwork"
|
指定这个卷标接收所有的 UNC paths. 1 – 启用.
替代
"MountFlags"=dword:80
|
Flags
Flag
|
Value
|
Description
|
FATFS_UPDATE_ACCESS
|
0x00000001
|
更新访问时间.
|
FATFS_DISABLE_LOG
|
0x00000002
|
禁用事件日志.
|
FATFS_DISABLE_AUTOSCAN
|
0x00000004
|
禁用自动扫描.
|
FATFS_VERIFY_WRITES
|
0x00000008
|
写校验.
|
FATFS_ENABLE_BACKUP_FAT
|
0x00000010
|
备份FAT表.
|
FATFS_FORCE_WRITETHROUGH
|
0x00000020
|
让系统可以直接将任何缓冲区中的数据写到磁盘上,这样系统将加快写数据到磁盘的速度.
|
FATFS_DISABLE_AUTOFORMAT
|
0x00000040
|
禁止自动格式化未格式化的分区.
|
FATFS_WFWS_NOWRITETHRU
|
0x00010000
|
Disables write through on the
WriteFileWithSeek function. Improves memory-mapped file performance.
|
FATFS_DISABLE_FORMAT
|
0x00020000
|
禁止格式化.
|
FATFS_TRANS_DATA
|
0x00040000
|
写操作同时传输数据.
|
CacheSize
Registry entry
|
Number of sectors
|
Cache in kilobytes (KB)
|
2
|
2
|
1
|
4
|
4
|
2
|
8
|
8
|
4
|
10
|
16
|
8
|
20
|
16
|
32
|
40
|
64
|
32
|
80
|
128
|
64
|
100
|
256
|
128
|
200
|
512
|
256
|
400
|
1024
|
512
|
800
|
2048
|
1024
|
1000
|
4096
|
2048
|
添加HIVE 注册表支持
1、
添加hive-based registry catalog 组件
2、
添加
[HKEY_LOCAL_MACHINE/init/BootVars]
"SystemHive"="Documents and Settings//System.hv"
"ProfileDir"="Documents and Settings"
"DefaultUser"="default"
"Start DevMgr"=dword:1
"Flags"=dword:3
"RegistryFlags"=dword:1
3、
在 each driver that is loaded during the first phase of startup
[HKEY_LOCAL_MACHINE/Drivers/ 相关项下添加(表示此驱动程序只加载一次
)
"Flags"=dword:1000
4、
[HKEY_LOCAL_MACHINE/System/StorageManager/Profiles/<ProfileName>/<FileSystemName>]
下添加
"MountAsBootable"=dword:1