注册表就是一个数据库,键值查找非常快,windows 把几乎大部分程序的相关信息,都写入了注册表,包括巨量 COM 信息。
心血来潮想看一下查找原理,找到了源代码,但硬是没看懂。
不知道用到了 hashtable 来查找键值,还是二分法查找,或者是黑白树?
头文件定义结构: https://github.com/CupertinoDude/windows2000/blob/master/private/ntos/inc/hivedata.h
具体的查找代码: https://github.com/CupertinoDude/windows2000/blob/master/private/ntos/config/hivemap.c