DDI 用法规则集 (Storport)

使用这些规则验证驱动程序是否正确使用 Storport DDI。

本部分内容

主题 DESCRIPTION

HwStorPortProhibitedDDIs

此规则包含不应在物理 StorPort 微型端口驱动程序中调用的 WDM DDI(不包括锁函数)的列表。

NullCheck

NullCheck 规则用于验证驱动程序代码中的 NULL 值在后续的驱动操作中不会被取消引用。 如果满足以下任一条件,此规则将报告缺陷:

  • 接下来会对 NULL 的赋值进行取消引用。
  • 在驱动程序中,一个过程可能引用到一个全局变量或参数,该变量或参数可以为 NULL,并且在以后被引用时,驱动程序内有显式检查显示,这个指针的初始值可能为 NULL。

当出现 NullCheck 规则违规时,跟踪树窗格中会突出显示最相关的代码语句。 有关使用报表输出的详细信息,请参阅 静态驱动程序验证程序报表了解跟踪查看器

StorPortDDIsPortOnly

此规则包含不应在 StorPort 微型端口中调用的仅限 StorPort 端口的 DDI(不包括互锁功能)的列表。

StorPortDeprecated

此规则验证驱动程序未调用以下任一已弃用的例程: StorPortValidateRangeStorPortLogError

选择 DDI 使用规则集

  1. 在 Microsoft Visual Studio 中选择你的驱动程序项目(.vcxProj)。 在 “驱动程序 ”菜单中,单击“ 启动静态驱动程序验证程序...”

  2. 单击“ 规则 ”选项卡。在 “规则集”下,选择 DDIUsage

    若要从 Visual Studio 开发人员命令提示符窗口中选择默认规则集,请使用 /check 选项指定 DDIUsage.sdv。 例如:

    msbuild /t:sdv /p:Inputs="/check:DDIUsage.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    有关详细信息,请参阅使用静态驱动程序验证程序查找驱动程序静态驱动程序验证程序命令中的缺陷(MSBuild)。