Udostępnij przez


Zestaw reguł użycia pamięci (NDIS)

Użyj tych reguł, aby sprawdzić, czy sterownik poprawnie wywołuje funkcje NDIS w celu przydzielenia i zwolnienia pamięci.

W tym dziale

Temat Opis

NdisAllocateGenericObject

Reguła NdisAllocateGenericObject określa, że NdisAllocateGenericObject i NdisFreeGenericObject są wywoływane naprzemiennie. Ostatecznym celem jest upewnienie się, że wszystkie obiekty ogólne są zwalniane po zakończeniu miniportHaltEx .

NdisAllocateMdl

Reguła NdisAllocateMdl określa, że NdisAllocateMdl i NdisFreeMdl są wywoływane w kolejności alternatywnej. Ostatecznym celem jest zapewnienie, że wszystkie MDL są uwalniane, gdy MiniportHaltEx się zakończy.

NdisAllocateMemoryWithTagPriority

Reguła NdisAllocateMemoryWithTagPriority określa, że sterownik nie może wywoływać NdisAllocateMemoryWithTagPriority bez podawania tagu.

Każda alokacja pamięci powinna używać unikatowego tagu puli, aby upewnić się, że debugery jądra i weryfikator sterowników mogą zidentyfikować odrębny przydzielony blok pamięci.

NdisAllocateNetBuffer

Reguła NdisAllocateNetBuffer określa, że NdisAllocateNetBuffer i NdisFreeNetBuffer są wywoływane w kolejności alternatywnej. Ostatecznym celem jest upewnienie się, że wszystkie wystąpienia NET_BUFFER zostaną zwolnione po zakończeniu miniportHaltEx .

NdisMFreeSharedMemory

NdisMFreeSharedMemory nie można wywołać z funkcji MiniportShutdownEx .

NdisMIndicateStatusEx

Sterownik nie powinien wywołać elementu NdisMIndicateStatusEx po powrocie z funkcji MiniportHaltEx.

NdisMMapIoSpace

Funkcja NdisMMapIoSpace powinna być wywoływana tylko w kontekście funkcji MiniportInitializeEx.

NdisMRegisterIoPortRange

Sterownik miniportu wywołuje funkcję NdisMRegisterIoPortRange z funkcji MiniportInitializeEx lub MINIPORT_ADD_DEVICE. MiniportInitializeEx lub MINIPORT_ADD_DEVICE musi wywołać NdisMSetMiniportAttributes przed wywołaniem NdisMRegisterIoPortRange.

Aby wybrać zestaw reguł użycia pamięci

  1. Wybierz projekt sterownika (.vcxProj) w programie Microsoft Visual Studio. W menu sterowników kliknij Uruchom Weryfikator Sterowników Statycznych….

  2. Kliknij kartę Reguły. W obszarze Zestawy reguł wybierz pozycję Zużycie Pamięci.

    Aby wybrać domyślny zestaw reguł w oknie wiersza polecenia dewelopera Visual Studio, określ MemoryUsage.sdv z opcją /check. Przykład:

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

    Aby uzyskać więcej informacji, zobacz Użycie Static Driver Verifier do Znalezienia Defektów w Sterownikach oraz Polecenia Static Driver Verifier (MSBuild).