Bagikan melalui


Membuat Driver Filter Baru

Dalam topik ini kami menjelaskan cara menggunakan Visual Studio untuk mulai menulis driver filter baru. Driver filter berbeda dari driver fungsi perangkat, driver perangkat lunak, dan driver sistem file, yang kami bahas dalam topik lain. Untuk mempelajari tentang driver filter dan perbedaannya dengan jenis driver lainnya, lihat topik berikut.

Untuk memulai, pertama-tama tentukan model driver mana yang sesuai untuk driver filter Anda. Untuk bantuan menentukan model mana yang terbaik untuk Anda, lihat Memilih Model Driver. Jika Anda menulis driver filter untuk perangkat keras, tentukan di mana perangkat Anda cocok dalam daftar teknologi yang dijelaskan dalam Teknologi Perangkat dan Driver. Lihat dokumentasi untuk teknologi tertentu tersebut untuk melihat apakah ada panduan untuk memilih model driver filter. Model driver filter yang direkomendasikan bervariasi dari satu teknologi ke teknologi berikutnya. Untuk beberapa teknologi, dokumentasi merekomendasikan penggunaan Kerangka Kerja Driver Mode Pengguna (UMDF), Kerangka Kerja Driver Mode Kernel (KMDF), atau Model Driver Windows (WDM). Untuk teknologi lain, dokumentasi memberikan detail eksplisit tentang cara menulis driver filter. Beberapa teknologi memiliki model filter mini. Untuk beberapa teknologi, mungkin tidak ada rekomendasi untuk model driver penyaring.

Selanjutnya, tentukan mana dari kasus berikut yang menjelaskan rekomendasi model driver Anda dan ikuti langkah-langkahnya:

Kasus 1: Dokumentasi untuk teknologi Anda merekomendasikan UMDF.

  1. Di dalam Visual Studio, pada menu File, pilih Proyek Baru.
  2. Dalam kotak dialog Proyek Baru, di panel kiri, temukan dan pilih Visual C++ | Driver Windows | WDF.
  3. Di panel tengah, pilih Pengandar Mode Pengguna (UMDF).
  4. Isi Nama dan kotak Lokasi, dan pilih OK. Untuk informasi selengkapnya, lihat Menulis Driver UMDF Berdasarkan Templat. Nota Saat membuat driver UMDF baru, Anda harus memilih nama driver yang memiliki 32 karakter atau kurang. Batas panjang ini didefinisikan dalam wdfglobals.h.
  5. Pada titik ini, Anda memiliki proyek driver yang mengimplementasikan kode umum yang diperlukan oleh sebagian besar driver UMDF. Sekarang Anda dapat menyediakan kode yang khusus untuk filter Anda.

Kasus 2: Dokumentasi untuk teknologi Anda merekomendasikan KMDF.

  1. Di dalam Visual Studio, pada menu File, pilih Proyek Baru.
  2. Dalam kotak dialog Proyek Baru, di panel kiri, temukan dan pilih WDF.
  3. Di panel tengah, pilih Kernel Mode Driver (KMDF).
  4. Isi Nama dan kotak Lokasi, dan pilih OK. Untuk informasi selengkapnya, lihat Menulis Driver KMDF Berdasarkan Templat. Nota Saat membuat driver KMDF baru, Anda harus memilih nama driver yang memiliki 32 karakter atau kurang. Batas panjang ini didefinisikan dalam wdfglobals.h.
  5. Pada titik ini, Anda memiliki proyek driver yang mengimplementasikan kode umum yang diperlukan oleh sebagian besar driver KMDF. Sekarang Anda dapat menyediakan kode yang khusus untuk filter Anda.

Kasus 3: Dokumentasi untuk teknologi Anda menjelaskan tentang filter tertentu atau model filter mini.

Jika teknologi perangkat Anda memiliki filter atau model minifilter tertentu, periksa untuk melihat apakah Visual Studio memiliki templat untuk model tersebut.

  1. Di dalam Visual Studio, pada menu File, pilih Proyek Baru.
  2. Dalam kotak dialog Proyek Baru, di panel kiri, temukan dan pilih Templat | Visual C++ | Driver Windows.
  3. Telusuri daftar templat yang diinstal untuk melihat apakah ada templat untuk jenis filter yang perlu Anda tulis. Misalnya, Anda dapat memilih templat Filter Driver: NDIS di bawah Jaringan.
  4. Jika tidak ada templat untuk jenis driver filter Anda di bawah Driver Windows, pilih Online dan telusuri templat yang tersedia secara online.
  5. Jika Anda menemukan templat untuk jenis driver filter Anda, pilih templat, isi kotak Nama dan Lokasi , dan pilih OK.
  6. Pada titik ini, Anda memiliki proyek driver yang mengimplementasikan kode umum yang diperlukan oleh driver filter Anda. Sekarang Anda dapat menyediakan kode yang khusus untuk filter Anda. Lihat dokumentasi untuk teknologi Anda untuk mempelajari tentang fungsi yang perlu Anda terapkan.

Jika teknologi perangkat Anda memiliki model filter tertentu atau model minifilter, dan Anda tidak dapat menemukan templat untuk jenis driver filter Anda, lihat dokumentasi khusus teknologi Anda untuk panduan guna menentukan apakah akan menggunakan UMDF, KMDF, atau WDM.

Kasus 4: Dokumentasi untuk teknologi Anda merekomendasikan WDM.

  1. Di dalam Visual Studio, pada menu File, pilih Proyek Baru.

  2. Di Visual Studio, dalam kotak dialog Proyek Baru, di bawah Driver Windows, pilih WDM.

  3. Isi Nama dan kotak Lokasi, dan pilih OK.

  4. Pada titik ini, Anda memiliki proyek driver WDM kosong. Di jendela Penjelajah Solusi, pilih dan tahan (atau klik kanan) proyek driver Anda, dan pilih Tambahkan | Item Baru.

  5. Dalam kotak dialog Tambahkan Item Baru, pilih File C++ (.cpp), masukkan nama untuk file Anda, dan pilih OK.

    Nota Jika Anda ingin membuat file .c alih-alih file .cpp, masukkan nama yang memiliki ekstensi .c .

  6. Terapkan fungsi yang diperlukan oleh filter Anda. Saat menerapkan dan mengatur fungsi, Anda mungkin memutuskan untuk menambahkan file .cpp atau .c tambahan.

Kasus 5: Dokumentasi untuk teknologi Anda tidak memiliki rekomendasi untuk model driver filter.

  1. Tentukan apakah UMDF, KMDF, atau WDM adalah model terbaik untuk driver filter Anda. Untuk bantuan, lihat Memilih Model Driver.

  2. Di dalam Visual Studio, pada menu File, pilih Proyek Baru.

  3. Di Visual Studio, dalam kotak dialog Proyek Baru, di bawah Driver Windows, pilih salah satu templat berikut ini:

    • WDF | Pengandar Mode Pengguna (UMDF)
    • WDF | Driver Mode Kernel (KMDF)
    • WDM | Driver Kernel Kosong

    Catatan Saat membuat driver KMDF atau UMDF baru, Anda harus memilih nama driver yang memiliki 32 karakter atau kurang. Batas panjang ini didefinisikan dalam wdfglobals.h.

  4. Terapkan fungsi yang diperlukan oleh filter Anda. Buat file .c atau .cpp baru sesuai kebutuhan.

Jika Anda tidak yakin templat mana yang akan digunakan, pertimbangkan untuk membaca atau memposting ke forum Windows Hardware WDK dan Driver Development .