设备驱动程序中IN PDRIVER_OBJECT driverObject中的IN是什么?

时间:2015-09-15 09:04:46

标签: device-driver

为Windows编写设备驱动程序,我们需要使用driverentry。 在driverentry及其参数中,我们使用IN PDRIVER_OBJECT。 我想知道什么是" IN"?

1 个答案:

答案 0 :(得分:1)

这是旧代码注释的一部分。在您的情况下,IN注释表示参数PDRIVER_OBJECTDRIVER_OBJECT*)作为 in put参数接收。

这些较旧的注释非常有限,现在已被SAL(source-code annotation language)取代,这是非常强大的(但在某些情况下更难以正确处理)。现在可以通过某些工具(包括Microsoft Visual Studio中的code analyzer)静态验证较新的SAL注释,以查找并减少C / C ++代码缺陷的数量。

请注意,SAL注释可用于用户和驱动程序代码。如果仔细查看各自标题中的内核函数的定义(例如<ntifs.h>),您会发现它们都使用较新的SAL注释。