!ruleinfo
The !ruleinfo command displays information about a Driver Verifier rule.
!ruleinfo RuleId [RuleState [SubState]]
Parameters
RuleId
The ID of the verifier rule. This is the first argument of the DRIVER_VERIFIER_DETECTED_VIOLATION bug check.
RuleState
Additional state information about the violation. This is the third argument of the DRIVER_VERIFIER_DETECTED_VIOLATION bug check.
SubState
Sub-state information about the violation. This is the fourth argument of the DRIVER_VERIFIER_DETECTED_VIOLATION bug check.
DLL
ext.dll
Remarks
This command applies only to rules in the Driver Verifier extension; that is, rules that have an ID greater than or equal to 0x10000.
The following example shows the four arguments of a DRIVER_VERIFIER_DETECTED_VIOLATION bug check.
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
...
In the preceding output, the rule ID (0x91001) is shown as Arg1. Arg3 and Arg4 are the addresses of rule state and substate information. You can pass the rule ID, the rule state, and the substate to !ruleinfo to get a description of the rule and a link to detailed documentation of the rule.
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://learn.microsoft.com/windows-hardware/drivers/devtest/ndis-ndisoidcomplete
CONTEXT: Miniport 0xFFFFE0000283F1A0
CURRENT_TIME (Timed Rules): 142 seconds
RULE_STATE: 0xFFFFE000027B83F8