Sdílet prostřednictvím


Sada pravidel využití paměti (NDIS)

Pomocí těchto pravidel ověřte, že ovladač správně volá funkce NDIS, aby přidělil a uvolnil paměť.

V této části

Téma Popis

NdisAllocateGenericObject

Pravidlo NdisAllocateGenericObject určuje, že NdisAllocateGenericObject a NdisFreeGenericObject jsou volány v alternativním pořadí. Konečným cílem je zajistit, aby všechny obecné objekty byly uvolněny, když MiniportHaltEx skončí.

NdisAllocateMdl

Pravidlo NdisAllocateMdl určuje, že NdisAllocateMdl a NdisFreeMdl jsou volány v alternativním pořadí. Konečným cílem je zajistit, aby všechny MDLs byly uvolněny, když MiniportHaltEx skončí.

NdisAllocateMemoryWithTagPriority

Pravidlo NdisAllocateMemoryWithTagPriority určuje, že ovladač nesmí volat NdisAllocateMemoryWithTagPriority bez zadání Tag.

Každé přidělení paměti by mělo používat jedinečnou značku paměťového fondu, aby ladicí programy jádra a Verifikátor ovladače mohly identifikovat jedinečný přidělený blok paměti.

NdisAllocateNetBuffer

Pravidlo NdisAllocateNetBuffer určuje, že NdisAllocateNetBuffer a NdisFreeNetBuffer jsou volány v alternativním pořadí. Konečným cílem je zajistit, aby všechny instance NET_BUFFER byly uvolněny, když MiniportHaltEx skončí.

NdisMFreeSharedMemory

NdisMFreeSharedMemory nelze volat z funkce MiniportShutdownEx .

NdisMIndicateStatusEx

Ovladač nesmí volat funkci NdisMIndicateStatusEx po návratu z MiniportHaltEx.

NdisMMapIoSpace

Funkce NdisMMapIoSpace by měla být volána pouze v kontextu MiniportInitializeEx.

NdisMRegisterIoPortRange

Ovladač miniportu volá NdisMRegisterIoPortRange ze svých funkcí MiniportInitializeEx nebo MINIPORT_ADD_DEVICE. MiniportInitializeEx nebo MINIPORT_ADD_DEVICE musí volat NdisMSetMiniportAttributes před voláním NdisMRegisterIoPortRange.

Výběr sady pravidel využití paměti

  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 MemoryUsage.

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

    msbuild /t:sdv /p:Inputs="/check:MemoryUsage.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čů).