Bagikan melalui


Seperangkat aturan lain-lain (WDM)

Gunakan aturan ini untuk memverifikasi bahwa driver Anda dengan benar mengikuti serangkaian persyaratan umum untuk penanganan kunci registri, string, dan penunjuk objek perangkat yang tepat.

Di bagian ini

Topik Deskripsi

TambahkanDevice

Aturan AddDevice menentukan bahwa rutinitas AddDevice driver memanggil IoAttachDeviceToDeviceStack hanya setelah memanggil IoCreateDevice.

DanglingDeviceObjectReference

Aturan DanglingDeviceObjectReference menentukan bahwa driver memanggil ObDereferenceObject dengan pointer objek perangkat yang sama dengan yang dikembalikan IoGetAttachedDeviceReference .

PnpSameDeviceObject

Aturan PnpSameDeviceObject menentukan bahwa driver memanggil IoAttachDeviceToDeviceStack dengan pointer ke objek perangkat target yang valid.

TargetRelationNeedsRef

Aturan TargetRelationNeedsRef menentukan bahwa saat memproses kueri TargetDeviceRelation , rutinitas DispatchPnP driver memanggil salah satu fungsi berikut untuk mereferensikan PDO perangkat anak:

UnSafeAllocatePool

UnSafeAllocatePool adalah aturan keamanan penting yang memeriksa bahwa driver tidak menggunakan DDI yang tidak digunakan lagi untuk mengalokasikan memori.

ZwRegistryCreate

Aturan ZwRegistryCreate menentukan bahwa setelah memanggil ZwCreateKey, driver dapat memanggil fungsi registri berikut hanya saat memegang handel terbuka ke kunci registri (yaitu, sebelum panggilan apa pun ke ZwClose atau ZwDeleteKey untuk menutup atau menghapus handel ke kunci registri):

ZwRegistryOpen

Aturan ZwRegistryOpen menentukan bahwa setelah memanggil ZwOpenKey, driver memanggil fungsi registri berikut hanya sambil memegang handel terbuka ke kunci registri (yaitu, sebelum memanggil ZwClose atau ZwDeleteKey):

Untuk memilih seperangkat aturan lain-lain

  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 Lain-lain.

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

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