服务名称的长度可以超过注册表项名称的文档长度

时间:2018-05-12 15:36:51

标签: winapi windows-services registry limit msdn

我想知道为什么注册表项名称的最大长度为255个字符,而服务名称的最大长度为256,这背后的基本原理是什么?
(注意那些长度规范没有\ 0终止符。)

由于服务控制管理器将其服务信息存储在注册表中,这很奇怪。

另外我自己的测试显示确实可以创建:

  • 使用CreateService API,名称为256个字符的服务。
  • 使用RegCreateKeyEx API,名称为256个字符的注册表项。

这种现象"他人也观察到,例如如此blogpost中所述。

这两个限制都记录在Microsoft的文档站点:

  • " Registry Elements Size Limits"

      

    密钥名称:255个字符

  • 作为CreateService Windows API

    的一部分
      

    pServiceName :要安装的服务的名称。最大字符串长度为256个字符。 [...]

0 个答案:

没有答案
相关问题