Cla*_*ols 11 registry windows-xp windows-vista
我正在写一个很长的注册表项名称(它是一个组合卸载的程序列表),我认为它太大了.
密钥的最大大小是多少(以字符为单位)?(Win xp,vista,7中最小的最大值,因为它需要对所有这些都有效)
Ben*_*Ben 16
键名: 255个字符
值名称: 16,383个字符
值:可用内存(最新格式)或1 MB(标准格式)
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724872%28v=vs.85%29.aspx
这是一个超过255的密钥:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001 \控制\ DeviceClasses {53f5630d-b6bf-11d0-94f2-00a0c91efb8b} ##?#STORAGE#VOLUME #_ ?? _ USBSTOR#DISK&VEN_LEXAR&PROD_USB_FLASH_DRIVEREV_1100&AANL1B891R5GCDV6 0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B}#{ 53f5630d-b6bf-11d0-94f2-00a0c91efb8b}#
当我编写一个工具来搜索注册表中的所有密钥时,我发现了这一点.我创建了一个256的缓冲区,导致堆栈损坏异常.
当我尝试使用regedit查看此密钥时,我注意到它显示一个箭头,指示有子键但是在单击时不会响应.我只猜测最后的'#'键,因为该区域中的其他键以它结尾.
当我将缓冲区加倍时,一切都进展顺利.
| 归档时间: |
|
| 查看次数: |
10308 次 |
| 最近记录: |