windows - __deref_out_opt 和 __deref_opt_out 有什么区别?

标签 windows annotations static-analysis microsoft-sal

下面的SAL有什么区别?注释?

void foo(__deref_out_opt PSTR* bar);

void foo(__deref_opt_out PSTR* bar);

最佳答案

PSTR* out 参数意味着调用者传入一个缓冲区,该缓冲区接收指向字符串的指针。

在 __deref_out_opt 中,字符串是可选的(该函数将 NULL 放入调用者提供的缓冲区中)。

在 __deref_opt_out 中,缓冲区是可选的(调用者传递 NULL 表示对输出值不感兴趣)。

据推测,可以将这些概念结合起来,应该有一个 __deref_opt_out_opt 修饰符。

关于windows - __deref_out_opt 和 __deref_opt_out 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4777712/

相关文章:

windows - 如何在 Windows 中的自定义协议(protocol)处理程序中转义 & 符号

c# - 如何从 Windows 服务运行 excel vba 代码

windows - 如何在 Windows 中将 Git Bash 拆分为多个 “view”?

使用枚举值和注解的 Java 字符串验证

java - 我应该在 spring 中为我的项目使用注释吗?

java - maven-jaxb2-plugin 不在 linux 机器上编译 xsd 但在 windows 上工作?

google-chrome - 使用PDFTron的PDFNet SDK向PDF添加注释,chrome pdf查看器可以查看

python - 如何查明函数(的源代码)是否包含对特定模块方法的调用?

计算静态分配的内存量

compiler-construction - 如何获得一个程序的过程间控制流图并使用llvm对其进行数据流分析?