Bagikan melalui


Seperangkat aturan penggunaan memori (NDIS)

Gunakan aturan ini untuk memverifikasi bahwa driver Anda memanggil fungsi NDIS dengan benar untuk mengalokasikan dan membebaskan memori.

Di bagian ini

Topik Deskripsi

NdisAllocateGenericObject

Aturan NdisAllocateGenericObject menentukan bahwa NdisAllocateGenericObject dan NdisFreeGenericObject dipanggil dalam urutan alternatif. Tujuan utamanya adalah untuk memastikan semua objek generik dibebaskan ketika MiniportHaltEx berakhir.

NdisAllocateMdl

Aturan NdisAllocateMdl menentukan bahwa NdisAllocateMdl dan NdisFreeMdl dipanggil dalam urutan alternatif. Tujuan utamanya adalah untuk memastikan semua MDL dibebaskan ketika MiniportHaltEx berakhir.

NdisAllocateMemoryWithTagPriority

Aturan NdisAllocateMemoryWithTagPriority menentukan bahwa driver tidak boleh memanggil NdisAllocateMemoryWithTagPriority tanpa menyediakan Tag.

Setiap alokasi memori harus menggunakan tag kumpulan unik untuk memastikan bahwa debugger kernel dan Driver Verifier dapat mengidentifikasi blok memori yang dialokasikan yang berbeda.

NdisAllocateNetBuffer

Aturan NdisAllocateNetBuffer menentukan bahwa NdisAllocateNetBuffer dan NdisFreeNetBuffer dipanggil dalam urutan alternatif. Tujuan utamanya adalah untuk memastikan semua instans NET_BUFFER dibebaskan saat MiniportHaltEx berakhir.

NdisMFreeSharedMemory

NdisMFreeSharedMemory tidak dapat dipanggil dari fungsi MiniportShutdownEx .

NdisMIndicateStatusEx

Driver tidak boleh memanggil NdisMIndicateStatusEx setelah kembali dari fungsi MiniportHaltEx .

NdisMMapIoSpace

Fungsi NdisMMapIoSpace hanya boleh dipanggil dalam konteks MiniportInitializeEx.

NdisMRegisterIoPortRange

Driver miniport memanggil NdisMRegisterIoPortRange dari fungsi MiniportInitializeEx atau MINIPORT_ADD_DEVICE. MiniportInitializeEx atau MINIPORT_ADD_DEVICE harus memanggil NdisMSetMiniportAttributes sebelum memanggil NdisMRegisterIoPortRange.

Untuk memilih seperangkat aturan penggunaan memori

  1. Pilih proyek driver Anda (.vcxProj) di Microsoft Visual Studio. Dari menu Driver, klik Luncurkan Pemverifikasi Driver Statis….

  2. Klik tab Aturan . Di bawah Seperangkat Aturan, pilih MemoriPenggunaan.

    Untuk memilih seperangkat aturan default dari jendela prompt perintah pengembang Visual Studio, tentukan MemoryUsage.sdv dengan opsi /check . Contohnya:

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

    Untuk informasi selengkapnya, lihat Menggunakan Pemverifikasi Driver Statis untuk Menemukan Cacat pada Driver dan Perintah Pemverifikasi Driver Statis (MSBuild).