SetNamedSecurityInfo被定义为采用LPTSTR
,而不是LPCTSTR
。现在,采用LPTSTR
的标准Win32 API也具有某种指示必要缓冲区长度的方法。有时在签名中是明确的,有时将其记录为MAX_PATH
或其他形式。 SetNamedSecurityInfo
并非如此。
说实话,我不知道为什么SetNamedSecurityInfo
要写到该缓冲区,但是也许它试图规范化就地路径。但是然后我可能需要支持32768个字符?
答案 0 :(得分:0)
您在文档SetNamedSecurityInfo中看到的
pObjectName
指向以空终止的字符串的指针,该字符串指定了 为其设置安全信息的对象。
这意味着将发送到函数中的缓冲区长度始终与缓冲区的字符串长度相关。