对Sdv-map.h文件的理解

在验证驱动程序之前,SDV 会扫描驱动程序的源代码,并在驱动程序的源目录中创建 Sdv-map.h 文件。 在验证驱动程序之前,应检查并批准此头文件。

还可以使用 staticdv /scan 命令将 SDV 定向到扫描驱动程序的代码并创建文件。 有关说明,请参阅 扫描驱动程序

如果 Sdv-map.h 文件不完整或不正确,也就是说,如果缺少任何入口点,或者入口点与错误的函数角色类型相关联,则验证是不可靠的。

有关 SDV 用于 WDM、KMDF 和 NDIS 驱动程序的函数的列表,请参阅 “使用函数角色类型声明”。

Sdv-map.h 文件中显示的函数角色类型是 SDV 在其规则验证中使用的函数角色类型。 SDV 使用添加到头文件中的函数角色类型声明,在驱动程序的源代码目录中生成 Sdv-map.h 文件。 在 Sdv-map.h 文件中,SDV 将声明的驱动程序函数映射到验证期间 SDV 使用的函数标识符。 例如,对于 KMDF 驱动程序,名为 MyDpc 的回调函数可能映射到fun_WDF_DPC_1。

SDV 不需要驱动程序为它使用的所有回调函数声明函数角色类型。 仅当驱动程序声明了 SDV 知道的函数角色类型并正确解释它时,它才需要它。 如果驱动程序没有 SDV 要求验证特定规则所需的函数角色类型,SDV 的结论是该规则不适用于驱动程序。 这不被视为错误或缺陷。

请务必在验证驱动程序之前更正 Sdv-map.h 文件中的任何错误。 如果文件不正确,验证可能不可靠。