Sdílet prostřednictvím


Kontrola souladu s předpisy DDI

Možnost kontroly dodržování předpisů rozhraní DDI (Device Driver Interface) určuje, jestli ovladač správně pracuje s jádrem operačního systému Windows.

Poznámka Tato možnost je dostupná od Windows 8. Počínaje Windows 8.1 můžete otestovat další pravidla výběrem možnosti Aktivace kontroly dodržování předpisů DDI (další).

Kontrola souladu s předpisy DDI

Možnost kontroly souladu DDI aplikuje stejná pravidla použití rozhraní ovladačů zařízení (DDI), která používá nástroj Static Driver Verifier k ověření, že ovladač provádí volání funkcí na požadované úrovni IRQL pro funkci, nebo že správně získá a uvolní spinlocky.

Pokud je tato možnost aktivní a nástroj Driver Verifier zjistí, že ovladač porušuje jedno z pravidel dodržování předpisů DDI, nástroj Driver Verifier vydá kontrolu chyb 0xC4 (s parametrem 1 se rovná identifikátoru konkrétního pravidla dodržování předpisů).

Když vyberete možnost kontroly dodržování předpisů DDI, jsou zahrnuta následující pravidla.

Strážené oblasti (počínaje Windows 8.1)

IoSetCompletionExCompleteIrp (od 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 (počínaje Windows 8.1)

IrqlRtlPassive

IrqlZwPassive

NdisOidComplete (počínaje Windows 8.1)

NdisOidDoubleComplete (počínaje Windows 8.1)

PnpRemove (počínaje Windows 8.1)

RequestedPowerIrp (počínaje Windows 8.1)

QueuedSpinLock (počínaje Windows 8.1)

SpinLock (spuštění ve Windows 8.1)

Tato dvě pravidla jsou aktuálně volitelná, ale doporučuje se.

(Volitelné) IrqlNtifsApcPassive

(Volitelné) IrqlIoRtlZwPassive

Aktivace možnosti kontroly dodržování předpisů DDI

Funkci kontroly dodržování předpisů DDI můžete aktivovat pro jeden nebo více ovladačů pomocí Správce ověření ovladačů nebo příkazového řádku Verifier.exe. Podrobnosti najdete v tématu Výběr možností ověření ovladače. Pokud chcete aktivovat nebo deaktivovat možnost kontroly dodržování předpisů DDI, musíte restartovat počítač. Funkce kontroly dodržování předpisů DDI se aktivuje, když použijete standardní nastavení (/standard).

  • Na příkazovém řádku

    Na příkazovém řádku je kontrola dodržování předpisů DDI reprezentována ověřitelem /flags 0x00020000 (bit 17). Pokud chcete aktivovat kontrolu dodržování předpisů DDI, použijte hodnotu příznaku 0x00020000 nebo přidejte 0x00020000 k hodnotě příznaku. Například:

    verifier /flags 0x00020000 /driver MyDriver.sys
    

    Funkce bude aktivní po dalším spuštění.

  • Použití Správce ověřovatele ovladačů

    1. Spusťte Správce ověřovatele ovladačů. Do okna příkazového řádku zadejte ověřitel .
    2. Vyberte Vytvořit vlastní nastavení (pro vývojáře kódu) a potom klikněte na Další.
    3. Vyberte jednotlivá nastavení z úplného seznamu.
    4. Vyberte (zkontrolovat) kontrolu dodržování předpisů DDI.
    5. Restartujte počítač.

Kontrola dodržování předpisů DDI (další)

Od Windows 8.1 nabízí možnost kontroly dodržování předpisů DDI (další) další pravidla, která určují, jestli ovladač správně pracuje s jádrem operačního systému Windows. Když vyberete možnost kontroly dodržování předpisů DDI (další), testují se následující pravidla:

Aktivace dodatečné možnosti kontroly souladu s předpisy DDI

Poznámka:

Tato kontrola je zastaralá od verze Windows 10 Build 19042 a novější.

Pomocí Správce ověření ovladačů nebo příkazového řádku Verifier.exe můžete aktivovat pravidla pro kontrolu dodržování předpisů DDI (doplňková) pro jeden nebo více ovladačů. Podrobnosti najdete v tématu Výběr možností ověření ovladače. Pokud chcete aktivovat nebo deaktivovat možnost kontroly dodržování předpisů DDI (další), musíte restartovat počítač.

  • Na příkazovém řádku

    Na příkazovém řádku je kontrola dodržování předpisů DDI reprezentována ověřitelem /flags 0x00080000 (bit 19). Pokud chcete aktivovat kontrolu dodržování předpisů DDI (další), použijte hodnotu příznaku 0x00080000 nebo přidejte 0x00080000 k hodnotě příznaku. Například:

    verifier /flags 0x00080000 /driver MyDriver.sys
    

    Funkce bude aktivní po dalším spuštění.

  • Použití Správce ověřovatele ovladačů

    1. Chcete-li spustit Ovladač Verifier Manager, zadejte Verifier v okně příkazového řádku.
    2. Vyberte Vytvořit vlastní nastavení (pro vývojáře kódu) a potom klikněte na Další.
    3. Vyberte jednotlivá nastavení z úplného seznamu.
    4. Vyberte možnost Dodržování předpisů DDI (dodatečné kontrola).
    5. Restartujte počítač.

Aktivace možnosti kontroly dodržování předpisů DDI (další IRQL)

Další pravidla IRQL dodržování předpisů DDI můžete aktivovat pro jeden nebo více ovladačů pomocí příkazového řádku Verifier.exe. Podrobnosti najdete v tématu Výběr možností ověření ovladače. Abyste mohli aktivovat nebo deaktivovat dodatečná pravidla IRQL pro dodržování předpisů DDI, je třeba restartovat počítač.

V příkazovém řádku je dodatečná kontrola IRQL pro DDI Compliance reprezentována hodnotou třídy pravidel 35. Například:

verifier /ruleclasses 35 /driver MyDriver.sys

NEBO

verifier /rc 35 /driver MyDriver.sys

Další sada pravidel IRQL se skládá z následujících dvou pravidel.

(Volitelné) IrqlNtifsApcPassive

(Volitelné) IrqlIoRtlZwPassive