Bagikan melalui


Menulis driver Universal Windows (UMDF 2) berdasarkan templat

Topik ini menjelaskan cara menulis driver Universal Windows menggunakan User-Mode Driver Framework (UMDF) 2. Anda akan mulai dengan templat Microsoft Visual Studio lalu menyebarkan dan menginstal driver Anda di komputer terpisah.

Untuk memulai, pastikan Anda memiliki versi terbaru Microsoft Visual Studio dan Windows Driver Kit (WDK). Untuk tautan unduhan, lihat Mengunduh Windows Driver Kit (WDK).

Alat Penelusuran Kesalahan untuk Windows disertakan saat Anda menginstal WDK.

Membuat dan membangun driver

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.

  1. Buka Visual Studio. Pada menu File, pilih Proyek Baru>.

  2. Dalam kotak dialog Buat proyek baru , pilih C++ di menu dropdown kiri, pilih Windows di dropdown tengah, dan pilih Driver di menu dropdown kanan.

  3. Pilih Driver Mode Pengguna (UMDF V2) dari daftar jenis proyek. Pilih Selanjutnya.

    Cuplikan layar kotak dialog proyek baru, memperlihatkan driver mode pengguna dipilih.

  4. Dalam kotak dialog Konfigurasikan proyek baru Anda , masukkan "UmdfDriver" di bidang Nama proyek .

    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.  

  5. Di bidang Lokasi , masukkan direktori tempat Anda ingin membuat proyek baru.

  6. Centang Tempatkan solusi dan proyek di direktori yang sama dan pilih Buat.

    Cuplikan layar kotak dialog konfigurasi proyek.

    Visual Studio membuat satu proyek dan solusi. Anda dapat melihatnya di jendela Penjelajah Solusi. (Jika jendela Penjelajah Solusi tidak terlihat, pilih Penjelajah Solusi dari menu Tampilan.) Solusinya memiliki proyek driver bernama UmdfDriver. Untuk melihat kode sumber driver, buka salah satu file di bawah File Sumber. Driver.c dan Device.c adalah tempat yang baik untuk memulai.

    Cuplikan layar penjelajah solusi memperlihatkan file dalam proyek driver.

  7. Di jendela Penjelajah Solusi, pilih dan tahan (atau klik kanan) Solusi 'UmdfDriver' (1 dari 1 proyek), dan pilih Configuration Manager. Pilih konfigurasi dan platform untuk proyek driver. Misalnya, pilih Debug dan x64.

  8. Di jendela Penjelajah Solusi, pilih dan tahan (atau klik kanan) UmdfDriver, dan pilih Properti. Navigasi ke Pengaturan > Driver Properti > Konfigurasi Umum, dan perhatikan bahwa Platform Target default ke Universal.

  9. Untuk membangun driver Anda, pilih Build Solution dari menu Build . Microsoft Visual Studio menampilkan kemajuan build di jendela Output . (Jika jendela Output tidak terlihat, pilih Output dari menu Tampilan .)

    Verifikasi bahwa output build mencakup:

    >    Driver is 'Universal'.
    

    Setelah memverifikasi bahwa solusi berhasil dibangun, Anda dapat menutup Visual Studio.

  10. Untuk melihat driver bawaan, di File Explorer, buka folder UmdfDriver Anda, lalu ke x64\Debug\UmdfDriver. Direktori mencakup file berikut:

    • UmdfDriver.dll -- file driver mode pengguna
    • UmdfDriver.inf -- file informasi yang digunakan Windows saat Anda menginstal driver

Menyebarkan dan menginstal driver Universal Windows

Biasanya ketika Anda menguji dan men-debug driver, debugger dan driver berjalan pada komputer terpisah. Komputer yang menjalankan debugger disebut komputer host, dan komputer yang menjalankan driver disebut komputer target. Komputer target juga disebut komputer uji.

Sejauh ini, Anda telah menggunakan Visual Studio untuk membangun driver di komputer host. Sekarang Anda perlu mengonfigurasi komputer target. Ikuti instruksi di Menyediakan komputer untuk penyebaran dan pengujian driver (WDK 10). Kemudian Anda akan siap untuk menyebarkan, menginstal, memuat, dan men-debug driver Anda:

  1. Di komputer host, buka solusi Anda di Visual Studio. Anda dapat mengklik dua kali file solusi, UmdfDriver.sln, di folder UmdfDriver Anda.

  2. Di jendela Penjelajah Solusi, pilih dan tahan (atau klik kanan) UmdfDriver, dan pilih Properti.

  3. Di jendela Halaman Properti UmdfDriver, buka Penyebaran Penginstalan > Driver Properti > Konfigurasi, seperti yang diperlihatkan di sini.

  4. Centang Hapus versi driver sebelumnya sebelum penyebaran.

  5. Untuk Nama Perangkat Target, pilih nama komputer yang Anda konfigurasi untuk pengujian dan penelusuran kesalahan.

  6. Pilih Pembaruan Driver ID Perangkat Keras, dan masukkan ID perangkat keras untuk driver Anda. Dalam latihan ini, ID perangkat keras adalah Root\UmdfDriver. PilihOK.

    cuplikan layar halaman properti umdfdriver, memperlihatkan penginstalan driver penyebaran dipilih

    Catatan Dalam latihan ini, ID perangkat keras tidak mengidentifikasi perangkat keras yang sebenarnya. Ini mengidentifikasi perangkat imajiner yang akan diberikan tempat di pohon perangkat sebagai anak dari simpul akar. Untuk perangkat keras nyata, jangan pilih Pembaruan Driver ID Perangkat Keras; sebagai gantinya, pilih Instal dan Verifikasi. Anda dapat melihat ID perangkat keras dalam file informasi driver (INF) Anda. Di jendela Penjelajah Solusi, buka File Driver UmdfDriver>, dan klik dua kali UmdfDriver.inf. ID perangkat keras berada di bawah [Standard.NT$ARCH$].

    [Standard.NT$ARCH$]
    %DeviceName%=MyDevice_Install,Root\UmdfDriver
    
  7. Pada menu Debug , pilih Mulai Penelusuran Kesalahan, atau tekan F5 pada keyboard.

  8. Tunggu hingga driver Anda disebarkan, diinstal, dan dimuat pada komputer target. Proses ini mungkin memakan waktu beberapa menit.

Menggunakan Driver Module Framework (DMF)

Driver Module Framework (DMF) adalah ekstensi untuk WDF yang memungkinkan fungsionalitas tambahan untuk pengembang driver WDF. Ini membantu pengembang menulis semua jenis driver WDF dengan lebih baik dan lebih cepat.

DMF sebagai kerangka kerja memungkinkan pembuatan objek WDF yang disebut Modul DMF. Kode untuk Modul DMF ini dapat dibagikan di antara driver yang berbeda. Selain itu, DMF menggabungkan pustaka Modul DMF yang telah kami kembangkan untuk driver kami dan merasa akan memberikan nilai bagi pengembang driver lainnya.

DMF tidak menggantikan WDF. DMF adalah kerangka kerja kedua yang digunakan dengan WDF. Pengembang yang memanfaatkan DMF masih menggunakan WDF dan semua primitifnya untuk menulis driver perangkat.

Untuk informasi selengkapnya, lihat Driver Module Framework (DMF).

Mengembangkan, Menguji, dan Menyebarkan Driver

Alat Debugging untuk Windows

Tulis driver pertama Anda