Sdílet prostřednictvím


Různá sada pravidel (WDM)

Pomocí těchto pravidel ověřte, že ovladač správně dodržuje obecnou sadu požadavků pro správné zpracování klíčů registru, řetězců a ukazatelů objektů zařízení.

V této části

Téma Popis

PřidatZařízení

Pravidlo AddDevice určuje, že rutina AddDevice ovladače volá IoAttachDeviceToDeviceStack až po volání IoCreateDevice.

DanglingDeviceObjectReference

Pravidlo DanglingDeviceObjectReference určuje, že ovladač volá ObDereferenceObject se stejným ukazatelem objektu zařízení, který vrátil IoGetAttachedDeviceReference .

PnpSameDeviceObject

Pravidlo PnpSameDeviceObject určuje, že ovladač volá IoAttachDeviceToDeviceStack s ukazatelem na platný objekt cílového zařízení.

TargetRelationNeedsRef

Pravidlo TargetRelationNeedsRef určuje, že při zpracování dotazu TargetDeviceRelation rutina DispatchPnP ovladače volá jednu z následujících funkcí k odkazu na fyzický objekt zařízení (PDO) podřízeného zařízení:

UnSafeAllocatePool

UnSafeAllocatePool je důležité pravidlo zabezpečení, které kontroluje, že ovladač nepoužívá zastaralé DDI k přidělení paměti.

ZwRegistryCreate

Pravidlo ZwRegistryCreate určuje, že po volání ZwCreateKey může ovladač volat následující funkce registru pouze při držení otevřeného popisovače klíče registru (to znamená před voláním ZwClose nebo ZwDeleteKey zavřít nebo odstranit popisovač klíče registru):

ZwRegistryOpen

Pravidlo ZwRegistryOpen určuje, že po volání ZwOpenKey ovladač volá následující funkce registru pouze při držení otevřeného popisovače klíče registru (to znamená před voláním ZwClose nebo ZwDeleteKey):

Výběr sady pravidel Různé

  1. Vyberte projekt ovladače (.vcxProj) v aplikaci Microsoft Visual Studio. V nabídce Ovladač klepněte na Spustit statický ověřovatel ovladače....

  2. Klikněte na kartu Pravidla . V části Sady pravidel vyberte Různé.

    Chcete-li vybrat výchozí sadu pravidel z okna příkazového řádku pro vývojáře sady Visual Studio, zadejte ostatní.sdv s možností /check . Například:

    msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Další informace naleznete v tématu Použití statického ověřovače ovladačů k nalezení vad v ovladačích a příkazy MSBuild (Statický ověřovač ovladačů).