EVT_WDF_DRIVER_DEVICE_ADD fungsi panggilan balik (wdfdriver.h)
[Berlaku untuk KMDF dan UMDF]
Fungsi panggilan balik peristiwa EvtDriverDeviceAdd driver melakukan operasi inisialisasi perangkat saat manajer Plug and Play (PnP) melaporkan keberadaan perangkat.
Sintaks
EVT_WDF_DRIVER_DEVICE_ADD EvtWdfDriverDeviceAdd;
NTSTATUS EvtWdfDriverDeviceAdd(
[in] WDFDRIVER Driver,
[in, out] PWDFDEVICE_INIT DeviceInit
)
{...}
Parameter
[in] Driver
Handel ke objek driver kerangka kerja yang mewakili driver.
[in, out] DeviceInit
Penunjuk ke struktur WDFDEVICE_INIT yang dialokasikan kerangka kerja.
Nilai kembali
Fungsi panggilan balikEvtDriverDeviceAdd harus mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, fungsi panggilan balik ini harus mengembalikan salah satu nilai status kesalahan yang ditentukan dalam Ntstatus.h. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.
Keterangan
Setiap driver berbasis kerangka kerja yang mendukung perangkat PnP harus menyediakan fungsi panggilan balik EvtDriverDeviceAdd . Driver harus menempatkan alamat fungsi panggilan balik dalam struktur WDF_DRIVER_CONFIG sebelum memanggil WdfDriverCreate.
Kerangka kerja memanggil fungsi panggilan balik EvtDriverDeviceAdd driver Anda setelah driver bus mendeteksi perangkat yang memiliki pengidentifikasi perangkat keras (ID) yang cocok dengan ID perangkat keras yang didukung driver Anda. Anda menentukan ID perangkat keras yang didukung driver Anda dengan menyediakan file INF, yang digunakan sistem operasi untuk menginstal driver saat pertama kali salah satu perangkat Anda terhubung ke komputer. Untuk informasi selengkapnya tentang cara sistem menggunakan file INF dan ID perangkat keras, lihat Cara Penyetelan Memilih Driver.
Fungsi panggilan balik EvtDriverDeviceAdd driver biasanya melakukan setidaknya beberapa operasi inisialisasi berikut:
-
Buat objek perangkat kerangka kerja untuk mewakili perangkat.
-
Buat antrean I/O sehingga driver dapat menerima permintaan I/O.
-
Buat antarmuka perangkat yang digunakan aplikasi untuk berkomunikasi dengan perangkat.
-
Buat antarmuka yang ditentukan driver yang dapat digunakan driver lain.
- Menginisialisasi dukungan Windows Management Instrumentation (WMI ).
-
Buat objek interupsi, jika driver menangani gangguan perangkat.
-
Aktifkan transaksi akses memori langsung (DMA), jika driver menangani operasi DMA.
Jika fungsi panggilan balik EvtDriverDeviceAdd driver membuat objek perangkat tetapi tidak mengembalikan STATUS_SUCCESS, kerangka kerja akan menghapus objek perangkat dan perangkat turunannya.
Jika fungsi panggilan balik EvtDriverDeviceAdd driver fungsi tidak mengembalikan STATUS_SUCCESS, manajer I/O tidak membangun tumpukan perangkat untuk perangkat.
Jika fungsi panggilan balik EvtDriverDeviceAdd driver filter tidak mengembalikan STATUS_SUCCESS, kerangka kerja mengonversi nilai yang dikembalikan menjadi STATUS_SUCCESS, dan manajer I/O membangun tumpukan perangkat tanpa driver filter.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfdriver.h (termasuk Wdf.h) |
IRQL | PASSIVE_LEVEL |