Compartir a través de


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, puedes probar reglas adicionales seleccionando 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 El comprobador de controladores estáticos usa para comprobar que el controlador realiza llamadas de función en el IRQL necesario para la función, o bien adquiere y libera bloqueos por giro.

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 de comprobadores 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 Verificador 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 la opción comprobación de cumplimiento de DDI (verifique).
    5. Reinicia el ordenador.

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:

Opción adicional de activación de la comprobación de cumplimiento de DDI

Nota:

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

Puede activar las reglas de comprobación de cumplimiento de DDI (adicionales) para uno o varios controladores mediante el Administrador de comprobadores de controladores o la línea de comandos de 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 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 Verificador de Controladores

    1. Para iniciar el Administrador del Verificador de Controladores, escriba Verifier 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 (marque) la verificación de cumplimiento de DDI (adicional).
    5. Reinicia el ordenador.

Activación de la opción de verificació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 de 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 adicionales de cumplimiento de IRQL de DDI.

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

verifier /ruleclasses 35 /driver MyDriver.sys

OR

verifier /rc 35 /driver MyDriver.sys

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

(Opcional) IrqlNtifsApcPassive

(Opcional) IrqlIoRtlZwPassive