有人可以在UnmapDebugInformation中解释这个SAL注释差异吗?
在MSDN库documentation中,DebugInfo参数注释为在中传递:
BOOL WINAPI UnmapDebugInformation(
_In_ PIMAGE_DEBUG_INFORMATION DebugInfo
);
但是,在DbgHelp.h中,参数注释为传递 out :
BOOL IMAGEAPI UnmapDebugInformation(
_Out_writes_(_Inexpressible_(unknown)) PIMAGE_DEBUG_INFORMATION DebugInfo
);
为什么在SDK中将此参数注释为_Out_
?
(我知道这是一个不推荐使用的函数;我有兴趣了解SDK中使用的SAL注释。)
答案 0 :(得分:1)
SAL注释与MSDN文档和SDK更新分开演变。 MSDN文章往往是陈旧的,这也可能曾经在SDK中注释为_In_
。我得到的最旧的是SDK v6.0,它使用__out_xcount(unknown)
。
我认为传递的结构可能会被函数更新,因为它包含一个列表,所以你看到的只是一个更好的版本。它只对代码分析器很重要。