审批 Sdv-map.h 文件
Sdv-map.h 文件包含一行文本,告知 SDV 你已批准该文件,大概是在检查文件并更正任何错误之后。 创建后,Sdv-map.h 文件包含短语:“Approved=false”。
批准 Sdv-map.h 文件
在文本编辑器(如记事本)中打开 Sdv-map.h 文件。 SDV 在驱动程序的源目录中创建 Sdv-map.h 文件。 (它是 verification.) 的本地目录
将 //Approved=false 更改为 //Approved=true。
何时应批准 Sdv-map.h 文件
Sdv-map.h 正确且在 SDV:
找到它使用的所有入口点。
已将入口点与正确的函数角色类型相关联。
何时应更正 Sdv-map.h 文件
SDV 时,Sdv-map.h 文件不正确或不完整:
未在驱动程序中检测到任何入口点,通常是因为它找不到函数角色类型声明 (请参阅) 使用函数角色类型声明 。
具有与函数角色类型关联的重复回调函数。
具有超过函数角色类型支持的最大回调函数数。
在批准文件后,检测到 Sdv-map.h 文件中存在错误或不存在的函数名称。
驱动程序不需要具有 SDV 可以分析的每个入口点。 如果验证特定规则需要驱动程序没有的驱动程序入口点,SDV 将取消该规则的验证,并返回 “不适用”的结果。 此结果不被视为失败结果。
除非 SDV 在驱动程序中找不到任何入口点,否则它会继续分析。 如果分析中使用的头文件不完整或不正确,则验证结果不可靠。
如果 SDV 在批准文件后检测到 Sdv-map.h 文件中存在错误或不存在的函数名称,则 SDV 将退出并发出如下示例所示的警告消息:
Warning 'driver' It appears that your sdv-map.h file has an incorrect entry at this line "#define fun_IRP_MJ_PNP DispatchPnpNotExist". Please regenerate your sdv-map.h file.
若要修复此错误,请删除 Sdv.map 文件中导致错误的行或重新生成文件。
重新生成 Sdv-map.h 文件
打开 Sdv-map.h 文件并将 //Approved=true 更改为 //Approved=false。
使用 staticdv /scan 命令重新生成映射文件,或使用 staticdv /rule 或 staticdv /config 命令运行 SDV 分析。