审批 Sdv-map.h 文件

Sdv-map.h 文件包含一行文本,告知 SDV 你已批准该文件,大概是在检查文件并更正任何错误之后。 创建后,Sdv-map.h 文件包含短语:“Approved=false”。

批准 Sdv-map.h 文件

  1. 在文本编辑器(如记事本)中打开 Sdv-map.h 文件。 SDV 在驱动程序的源目录中创建 Sdv-map.h 文件。 (它是 verification.) 的本地目录

  2. //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 文件

  1. 打开 Sdv-map.h 文件并将 //Approved=true 更改为 //Approved=false

  2. 使用 staticdv /scan 命令重新生成映射文件,或使用 staticdv /rulestaticdv /config 命令运行 SDV 分析。