Compartir a través de


Conjunto de reglas de uso de DDI (Storport)

Use estas reglas para comprobar que el controlador usa correctamente los DDIs de Storport correctamente.

En esta sección

Tema Descripción

HwStorPortProhibitedDIs

Esta regla contiene una lista de DDIS de WDM (excepto las funciones interbloqueadas) a las que no se debe llamar en controladores de miniport físicos de StorPort.

NullCheck

La regla NullCheck comprueba que un valor NULL dentro del código de controlador no se desreferencia más adelante en el controlador. Esta regla notifica un defecto si se cumple alguna de estas condiciones:

  • Hay una asignación de NULL que se desreferencia más adelante.
  • Hay un parámetro global o un procedimiento en un controlador que puede ser NULL que se desreferencia más adelante y hay una comprobación explícita en el controlador que sugiere que el valor inicial del puntero puede ser NULL.

Con las infracciones de la regla NullCheck, las instrucciones de código más relevantes se resaltan en el panel del árbol de seguimiento. Para obtener más información sobre cómo trabajar con la salida del informe, vea Informe de comprobador de controladores estáticos y Descripción del Visor de seguimiento.

StorPortDDIsPortOnly

Esta regla contiene una lista de DDIs de solo puerto de StorPort (excepto las funciones interbloqueadas) a las que no se debe llamar en miniports de StorPort.

StorPortDeprecated

Esta regla comprueba que el controlador no llama a ninguna de estas rutinas en desuso: StorPortValidateRange o StorPortLogError.

Para seleccionar el conjunto de reglas de uso de DDI

  1. Seleccione el proyecto de controlador (.vcxProj) en Microsoft Visual Studio. En el menú Controlador , haga clic en Iniciar comprobador de controladores estáticos....

  2. Haga clic en la pestaña Reglas . En Conjuntos de reglas, seleccione DDIUsage.

    Para seleccionar el conjunto de reglas predeterminado en una ventana del símbolo del sistema para desarrolladores de Visual Studio, especifique DDIUsage.sdv con la opción /check . Por ejemplo:

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

    Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores y comandos comprobadores de controladores estáticos (MSBuild).