2010.08.11:wince注册表分析!
来源:互联网 发布:数据库入门哪个好 编辑:程序博客网 时间:2024/06/08 14:54
我们在添加删除驱动的时候我们都要修改注册表,可知注册表是很重要的,现在来仔细分析下它。
HKEY_LOCAL_MACHINE,硬件和驱动配置数据;
HKEY_CURRENT_USER,用户配置数据;
HKEY_CLASSES_ROOT,OLE和文件类型匹配配置数据;
HKEY_USERS, 适用于所有用户的数据;
一、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的功能前提下提供更精确的控制
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
转自:http://blog.chinaunix.net/u3/105764/showart_2144173.html
- 2010.08.11:wince注册表分析!
- WINCE 注册表
- WinCE注册表
- WinCE注册表
- wince 和win2000导出的注册表文件分析
- WINCE注册表应用
- WINCE 读写注册表操作
- WINCE注册表应用
- 关于wince注册表
- 关于wince注册表
- 关于wince注册表
- wince 注册表编辑
- winCE 注册表相关讨论
- wince注册表结构
- 活用WinCE注册表
- WINCE注册表应用
- wince注册表设置例子
- wince注册表点滴
- java设计模式小体会
- jquery 一般用法
- 左右连接区别(转)
- Android Check GPS is Enabled or Not
- ZOJ 1002 Fire Net
- 2010.08.11:wince注册表分析!
- 借“样式”巧用Word自带的多级项目符号
- javascript面向对象技术基础(六)
- 视频无损剪切分割截取合并工具
- ZOJ 1002 Fire Net
- MSSQL聚集索引與非技術索引設計指南
- 你怀疑过“温水煮青蛙”的故事吗
- [Language-regex]正则语法整理——符号篇
- [code] em