0

有人可以在 UnmapDebugInformation 中解释这种 SAL 注释差异吗?

在 MSDN 库文档中,DebugInfo 参数被注释为被传入

BOOL WINAPI UnmapDebugInformation(
    _In_ PIMAGE_DEBUG_INFORMATION DebugInfo
);

然而,在 DbgHelp.h 中,参数被注释为被传递出去

BOOL IMAGEAPI UnmapDebugInformation(
    _Out_writes_(_Inexpressible_(unknown)) PIMAGE_DEBUG_INFORMATION DebugInfo
);

为什么这个参数会像_Out_在 SDK 中那样被注释?

(我知道这是一个已弃用的功能;我有兴趣了解 SDK 中使用的 SAL 注释。)

4

1 回答 1

1

SAL 注释与 MSDN 文档和 SDK 更新分开发展。MSDN 文章往往过时,这很可能曾经像_In_在 SDK 中一样被注释过。我得到的最旧的是 SDK v6.0,它使用__out_xcount(unknown).

我认为传递的结构很可能会被函数更新,考虑到它包含一个列表,所以你看到的只是一个更好的版本。只有代码分析器才真正重要。

于 2012-12-07T01:24:00.663 回答