Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Invariant MDL pufferkezelés ellenőrzése funkció figyeli, hogyan kezeli az illesztőprogram az invariáns MDL-puffereket az illesztőprogram-veremben. Az illesztőprogram-ellenőrző képes észlelni az invariáns MDL-pufferek illegális módosítását. A beállítás használatához az I/O-ellenőrzést legalább egy illesztőprogramon engedélyezni kell.
Jegyzet Ez a beállítás Windows 8-tól kezdve érhető el.
Az Invariant MDL Stack-ellenőrzése beállítás biztosítja, hogy az illesztőprogramok csak akkor kövessék az invariáns MDL-pufferekre vonatkozó szabályokat, amikor a kérés elhagyja az illesztőprogram-vermet.
Amikor az IoCallDriver rutinjában először látható az invariáns MDL-vel rendelkező IRP, az egyedi aláírás az invariáns MDL-puffer tartalmából lesz kiszámítva, és egy belső adatbázisban tárolja. Az IRP IoCompleteRequest rutinbeli végrehajtása során, ha az IRP továbbra is hordoz egy invariáns MDL-t, amelyhez az aláírást rögzítettük, a Driver Verifier ellenőrzi, hogy a puffer nem változott-e.
Az írási kérelem invariáns puffere nem módosítható az IRP teljes élettartama alatt. Olvasási kérés esetén az invariáns puffer nem módosítható a küldési útvonalán, így a puffer-aláírás összehasonlítása az IoCallDriver utolsó hívásánál történik.
Az Invariant MDL Stack-ellenőrzése beállítás ellenőrzi az MDL-puffer invarianciáját az egész illesztőprogram-veremen, tekintet nélkül arra, hogy mi történik a pufferrel, amikor az áthalad a verem egyes illesztőprogramjain. Ez a beállítás globális, és nem kényszeríthető ki szelektíven illesztőprogramonként. Az Invariáns MDL Stack-ellenőrzése beállítás csak a szabálysértést észlelheti, anélkül, hogy rögzítené azt az illesztőprogramot, aki megsértette a puffer invarianciáját. A hibás illesztőprogram rögzítéséhez használja az Invariant MDL Illesztőprogram-ellenőrzés beállítását, amely ellenőrzi a puffer tartalmának invarianciáját az IoCallDriver és az IoCompleteRequest DDI-k minden hívásán.
A beállítás aktiválása
Az Invariant MDL Stack-ellenőrzés funkcióját egy vagy több illesztőprogramhoz aktiválhatja a Driver Verifier Manager vagy a Verifier.exe parancssor használatával. Az Invariant MDL Stack-ellenőrzés beállítás aktiválásához vagy inaktiválásához újra kell indítania a számítógépet. További információ: Illesztőprogram-ellenőrző beállításainak kiválasztása.
Az Invariáns MDL Stack-ellenőrzés beállítás aktiválásához aktiválnia kell az I/O-ellenőrzést is.
A parancssorban
A parancssorban a verem invariáns MDL-ellenőrzése a 0x00002000 (13. bit) értékkel van jelölve. Az Invariant MDL Stack-ellenőrzés aktiválásához használjon egy 0x00002010 jelzőértéket, vagy adjon hozzá 0x00002010 a jelzőértékhez. Ez az érték aktiválja az I/O-ellenőrzést (0x10) és a Veremhez tartozó Invariant MDL-ellenőrzést (0x00002000). Például:
verifier /flags 0x00002010 /driver MyDriver.sysA funkció a következő rendszerindítás után aktív lesz.
Driver Verifier Manager használata
- Indítsa el a Meghajtó Ellenőrző Kezelőt. Írja be Verifier parancssori ablakba.
- Válassza az Egyéni beállítások létrehozása (kódfejlesztők számára) lehetőséget, majd kattintson a Tovább gombra.
- Válassza Egyéni beállítások kiválasztása a teljes listából.
- Válassza az I/O-ellenőrzés és a veremhez kapcsolódó invariáns MDL-ellenőrzés lehetőséget.
- Indítsa újra a számítógépet.