在msdn中给出的函数调用中有什么意义

时间:2017-04-05 10:35:06

标签: c++ visual-c++ msdn

msdn中给出的_In_函数调用有什么意义?

int CALLBACK WinMain(
  _In_ HINSTANCE hInstance,
  _In_ HINSTANCE hPrevInstance,
  _In_ LPSTR     lpCmdLine,
  _In_ int       nCmdShow
);

2 个答案:

答案 0 :(得分:1)

正如玛格丽特·布鲁姆(Margaret Bloom)在上面评论的那样,这可能是一个宏,无法解决任何问题,使程序员更容易看到变量是输入变量。

这是必要的,因为很多旧的Windows函数都会引用对“输出”变量的对象。 I.E.传入函数进行更改的基元/对象指针。这允许函数返回一个可用于存储错误代码的int。 作为旁注,这个^被认为是非常糟糕的做法,应该避免。函数应通过正常返回返回数据,所有参数通常应仅视为输入。

答案 1 :(得分:0)

_In__Out_等是Microsoft SAL (source code annotation language) annotations Annotating Function Parameters and Return Values

Microsoft的编译器可以解析这些注释以检测可能的情况 缺陷 - 有限形式的静态分析。