!ruleinfo!ruleinfo

! Ruleinfo コマンドは、ドライバーの検証規則に関する情報を表示します。The !ruleinfo command displays information about a Driver Verifier rule.

!ruleinfo RuleId [RuleState [SubState]]

パラメータParameters

RuleId RuleId
検証規則の ID。The ID of the verifier rule. これは、DRIVER VERIFIER によっ て _ _ 検出された _ 違反 のバグチェックの最初の引数です。This is the first argument of the DRIVER_VERIFIER_DETECTED_VIOLATION bug check.

Rulestate RuleState
違反に関する追加の状態情報。Additional state information about the violation. これは、 ドライバー _ 検証ツールで _ 検出された _ 違反 バグチェックの3番目の引数です。This is the third argument of the DRIVER_VERIFIER_DETECTED_VIOLATION bug check.

SubState 下位状態 SubState
違反に関するサブ状態情報。Sub-state information about the violation. これは、 DRIVER _ VERIFIER で _ 検出された _ 違反 バグチェックの4番目の引数です。This is the fourth argument of the DRIVER_VERIFIER_DETECTED_VIOLATION bug check.

DLLDLL

ext.dllext.dll

注釈Remarks

このコマンドは、Driver Verifier 拡張機能のルールにのみ適用されます。つまり、ID が2以上のルールです。This command applies only to rules in the Driver Verifier extension; that is, rules that have an ID greater than or equal to 0x10000.

次の例は、 ドライバー _ 検証ツールが検出し _ た _ 違反 バグチェックの4つの引数を示しています。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
...

上記の出力では、ルール ID (0x91001) は Arg1 として表示されます。In the preceding output, the rule ID (0x91001) is shown as Arg1. Arg3 と Arg4 は、ルールの状態と下位の情報のアドレスです。Arg3 and Arg4 are the addresses of rule state and substate information. ルール ID、ルールの状態、および下位部分を ! ruleinfo に渡すと、ルールの説明と、ルールの詳細なドキュメントへのリンクを取得できます。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://docs.microsoft.com/windows-hardware/drivers/devtest/ndis-ndisoidcomplete

CONTEXT: Miniport 0xFFFFE0000283F1A0

CURRENT_TIME (Timed Rules): 142 seconds

RULE_STATE: 0xFFFFE000027B83F8