Sdílet prostřednictvím


Různá sada pravidel (KMDF)

Pomocí těchto pravidel ověřte, že ovladač správně dodržuje obecnou sadu požadavků pro správné zpracování objektů zařízení, klíčů a toho, že ovladač nevolá DDI, které nejsou vhodné pro ovladač jiného typu než PnP, nebo pro ovladač jiného typu než FDO, který není vlastníkem zásad napájení.

V této části

Téma Popis

AccessHardwareKey

Pravidlo AccessHardwareKey určuje, že ovladač sběrnice by se neměl pokoušet o přístup k hardwarovému klíči podřízeného zařízení z EvtChildListCreateDevice.

AddPdotoStaticChildlist

Pravidlo AddPdotoStaticChildlist určuje, že pro zařízení PDO musí být volána funkce rozhraní WdfFdoAddStaticChild po volání ovladače WdfPdoInitAllocate a WdfDeviceCreate úspěšně.

ChildListConfiguration

Pravidlo ChildListConfiguration určuje, že ovladače podporující dynamické výčty musí volat WdfFdoInitSetDefaultChildListConfig před voláním funkce WdfDeviceCreate .

Cleanup4CtlDeviceRegistered

Pravidlo Cleanup4CtlDeviceRegistered určuje, že pokud ovladač Plug and Play (PnP) volá WdfDeviceCreate pro objekt řídicího zařízení, ovladač musí zaregistrovat jednu z požadovaných funkcí zpětného volání události.

NonFDONotPowerPolicyOwnerAPI

Pravidlo NonFDONotPowerPolicyOwnerAPI určuje, že pokud ovladač jiného typu než FDO není vlastníkem zásady napájení, nelze volat určité DDI.

NonPnPDrvPowerPolicyOwnerAPI

Pravidlo NonPnPDrvPowerPolicyOwnerAPI určuje, že ovladače jiného typu než PnP nemohou volat určité DDI související s řízením spotřeby.

UnSafeAllocatePool

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

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čů).