了解 Sdv-map.h 文件
在验证驱动程序之前,SDV 会扫描驱动程序的源代码,并在驱动程序的 sources 目录中创建 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 文件中的任何错误。 如果文件错误,则验证可能不可靠。