!ruleinfo

El comando !ruleinfo muestra información sobre una regla del comprobador de controladores.

!ruleinfo RuleId [RuleState [SubState]]

Parámetros

RuleId
El ID de la regla del comprobador. Este es el primer argumento de la comprobación de errores DRIVER_VERIFIER_DETECTED_VIOLATION.

RuleState
Información de estado adicional sobre la infracción. Este es el tercer argumento de la comprobación de errores DRIVER_VERIFIER_DETECTED_VIOLATION.

SubState
Información de subestado adicional sobre la infracción. Este es el cuarto argumento de la comprobación de errores DRIVER_VERIFIER_DETECTED_VIOLATION.

Archivo DLL

ext.dll

Comentarios

Este comando solo se aplica a las reglas de la extensión del comprobador de controladores; es decir, las reglas que tienen un ID mayor o igual a 0x10000.

El siguiente ejemplo muestra los cuatro argumentos de una comprobación de errores DRIVER_VERIFIER_DETECTED_VIOLATION.

DRIVER_VERIFIER_DETECTED_VIOLATION (c4)
...
Arguments:
Arg1: 0000000000091001, ID of the 'NdisOidComplete' rule that was violated.
Arg2: fffff800002d49d0, A pointer to the string describing the violated rule condition.
Arg3: ffffe000027b8370, Address of internal rule state (second argument to !ruleinfo).
Arg4: ffffe000027b83f8, Address of supplemental states (third argument to !ruleinfo).

## Debugging Details:


DV_VIOLATED_CONDITION:  This OID should only be completed with NDIS_STATUS_NOT_ACCEPTED, 
                        NDIS_STATUS_SUCCESS, or NDIS_STATUS_PENDING.

DV_MSDN_LINK: https://go.microsoft.com/fwlink/p/?linkid=278802

DRIVER_OBJECT: ffffe0000277a2b0
...

STACK_TEXT:  
ffffd000`2118ff58 fffff803`4c83afa2 : 00000000`000000c4 00000000`00000001 ...
ffffd000`2118ff60 fffff803`4c83a8c0 : 00000000`00000003 00000000`00091001 ...
...

STACK_COMMAND:  kb

FOLLOWUP_NAME:  Xxxx

FAILURE_BUCKET_ID:  Xxxx
...

En la salida anterior, el ID de la regla (0x91001) aparece como Arg1. Arg3 y Arg4 son las direcciones de la información sobre el estado y el subestado de la regla. Puede pasar el ID de la regla, el estado de la regla y el subestado a !ruleinfo para obtener una descripción de la regla y un enlace a la documentación detallada de esta.

3: kd> !ruleinfo 0x91001 0xffffe000027b8370 0xffffe000027b83f8

RULE_ID: 0x91001

RULE_NAME: NdisOidComplete

RULE_DESCRIPTION: ""
This rule verifies if an NDIS miniport driver completes an OID correctly.
Check RULE_STATE for Oid ( use !ndiskd.oid ), which can be one of the following:
1) NULL,
2) Pending OID, or
3) Previous OID if no OID is pending.

MSDN_LINK: https://video2.skills-academy.com/windows-hardware/drivers/devtest/ndis-ndisoidcomplete

CONTEXT: Miniport 0xFFFFE0000283F1A0

CURRENT_TIME (Timed Rules): 142 seconds

RULE_STATE: 0xFFFFE000027B83F8