Comprobación de cumplimiento de DDI

La opción de comprobación de cumplimiento de la interfaz de controlador de dispositivo (DDI) determina si el controlador interactúa correctamente con el kernel del sistema operativo Windows.

Nota Esta opción está disponible a partir de Windows 8. A partir de Windows 8.1, puede probar reglas adicionales; para ello, seleccione Activar la opción Comprobación de cumplimiento de DDI (adicional).

Comprobación de cumplimiento de DDI

La opción de comprobación de cumplimiento de DDI aplica las mismas reglas de uso de la interfaz de controlador de dispositivo (DDI) que usa el comprobador de controladores estáticos para comprobar que el controlador realiza llamadas de función en el IRQL necesario para la función o adquiere y libera correctamente los bloqueos por subprocesos.

Cuando esta opción está activa y comprobador de controladores detecta que el controlador infringe una de las reglas de cumplimiento de DDI, el comprobador de controladores emite la comprobación de errores 0xC4 (con el parámetro 1 igual al identificador de la regla de cumplimiento específica).

Al seleccionar la opción comprobación de cumplimiento de DDI, se incluyen las reglas siguientes.

GuardedRegions (a partir de Windows 8.1)

IoSetCompletionExCompleteIrp (a partir de Windows 8.1)

IrqlApcLte

IrqlDispatch

IrqlExAllocatePool

IrqlExApcLte1

IrqlExApcLte2

IrqlExApcLte3

IrqlExPassive

IrqlIoApcLte

IrqlIoDispatch

IrqlIoPassive1

IrqlIoPassive2

IrqlIoPassive3

IrqlIoPassive4

IrqlIoPassive5

IrqlKeApcLte1

IrqlKeApcLte2

IrqlKeDispatchLte

IrqlKeReleaseSpinLock

IrqlKeSetEvent

IrqlMmApcLte

IrqlMmDispatch

IrqlObPassive

IrqlPsPassive

IrqlReturn (a partir de Windows 8.1)

IrqlRtlPassive

IrqlZwPassive

NdisOidComplete (a partir de Windows 8.1)

NdisOidDoubleComplete (a partir de Windows 8.1)

PnpRemove (a partir de Windows 8.1)

RequestedPowerIrp (a partir de Windows 8.1)

QueuedSpinLock (a partir de Windows 8.1)

SpinLock (a partir de Windows 8.1)

Estas dos reglas son actualmente opcionales, pero se recomiendan.

(Opcional) IrqlNtifsApcPassive

(Opcional) IrqlIoRtlZwPassive

Activación de la opción de comprobación de cumplimiento de DDI

Puede activar la característica de comprobación de cumplimiento de DDI para uno o varios controladores mediante el Administrador del comprobador de controladores o la línea de comandos Verifier.exe. Para obtener más información, consulte Seleccionar opciones del comprobador de controladores. Debe reiniciar el equipo para activar o desactivar la opción de comprobación de cumplimiento de DDI. La característica de comprobación de cumplimiento de DDI se activa cuando se usa la configuración estándar (/estándar).

  • En la línea de comandos

    En la línea de comandos, la comprobación de cumplimiento de DDI se representa mediante el comprobador /flags 0x00020000 (bit 17). Para activar la comprobación de cumplimiento de DDI, use un valor de marca de 0x00020000 o agregue 0x00020000 al valor de marca. Por ejemplo:

    verifier /flags 0x00020000 /driver MyDriver.sys
    

    La característica estará activa después del siguiente arranque.

  • Uso del Administrador del comprobador de controladores

    1. Inicie el Administrador del comprobador de controladores. Escriba Comprobador en una ventana del símbolo del sistema.
    2. Seleccione Crear configuración personalizada (para desarrolladores de código) y, a continuación, haga clic en Siguiente.
    3. Seleccione Seleccionar configuración individual en una lista completa.
    4. Seleccione (comprobar) comprobación de cumplimiento de DDI.
    5. Reinicie el equipo.

Comprobación de cumplimiento de DDI (adicional)

A partir de Windows 8.1, la opción comprobación de cumplimiento de DDI (adicional) proporciona reglas adicionales para determinar si el controlador interactúa correctamente con el kernel del sistema operativo Windows. Al seleccionar la opción comprobación de cumplimiento de DDI (adicional), se prueban las reglas siguientes:

Activación de la opción de comprobación de cumplimiento de DDI (adicional)

Nota

Esta comprobación está en desuso a partir de Windows 10 compilación 19042 y posteriores

Puede activar las reglas de comprobación de cumplimiento de DDI (adicionales) para uno o varios controladores mediante el Administrador del comprobador de controladores o la línea de comandos Verifier.exe. Para obtener más información, consulte Seleccionar opciones del comprobador de controladores. Debe reiniciar el equipo para activar o desactivar la opción de comprobación de cumplimiento de DDI (adicional).

  • En la línea de comandos

    En la línea de comandos, la comprobación de cumplimiento de DDI se representa mediante el comprobador /flags 0x00080000 (bit 19). Para activar la comprobación de cumplimiento de DDI (adicional), use un valor de marca de 0x00080000 o agregue 0x00080000 al valor de marca. Por ejemplo:

    verifier /flags 0x00080000 /driver MyDriver.sys
    

    La característica estará activa después del siguiente arranque.

  • Uso del Administrador del comprobador de controladores

    1. Para iniciar el Administrador del comprobador de controladores, escriba Comprobador en una ventana del símbolo del sistema.
    2. Seleccione Crear configuración personalizada (para desarrolladores de código) y, a continuación, haga clic en Siguiente.
    3. Seleccione Seleccionar configuración individual en una lista completa.
    4. Seleccione (comprobar) comprobación de cumplimiento de DDI (adicional).
    5. Reinicie el equipo.

Activación de la opción de comprobación de cumplimiento de DDI (IRQL adicional)

Puede activar las reglas IRQL adicionales de cumplimiento de DDI para uno o varios controladores mediante la línea de comandos Verifier.exe. Para obtener más información, consulte Seleccionar opciones del comprobador de controladores. Debe reiniciar el equipo para activar o desactivar las reglas de IRQL adicionales de cumplimiento de DDI.

En la línea de comandos, la comprobación de IRQL adicional de cumplimiento de DDI se representa mediante un valor de clase de regla de 35. Por ejemplo:

verifier /ruleclasses 35 /driver MyDriver.sys

O BIEN

verifier /rc 35 /driver MyDriver.sys

El conjunto de reglas IRQL adicional consta de las dos reglas siguientes.

(Opcional) IrqlNtifsApcPassive

(Opcional) IrqlIoRtlZwPassive