Bagikan melalui


Konteks Perangkat GPIO

Perangkat pengontrol I/O tujuan umum (GPIO) diwakili oleh objek perangkat kerangka kerja. Driver pengontrol GPIO dapat mengaitkan konteks perangkat dengan objek perangkat ini. Driver menggunakan konteks perangkat ini untuk menyimpan informasi secara terus-menerus tentang status perangkat pengontrol GPIO.

Ketika ekstensi kerangka kerja GPIO (GpioClx) memanggil fungsi panggilan balik peristiwa yang diterapkan oleh driver, GpioClx meneruskan konteks perangkat ke fungsi ini sebagai parameter. Fungsi panggilan balik memeriksa konteks perangkat untuk menentukan status perangkat saat ini. Jika fungsi mengubah status ini, fungsi memperbarui konteks perangkat yang sesuai.

GpioClx mengalokasikan penyimpanan untuk objek perangkat. Jika driver pengontrol GPIO memiliki lebih dari satu objek perangkat, konteks perangkat untuk masing-masing objek ini berukuran sama. Selama rutinitas DriverEntry , driver memanggil metode GPIO_CLX_RegisterClient untuk mendaftarkan fungsi panggilan baliknya dan untuk menentukan ukuran konteks perangkat yang diperlukan. Kemudian, selama rutinitas panggilan balik EvtDriverDeviceAdd , driver memanggil metode GPIO_CLX_ProcessAddDevicePostDeviceCreate untuk meneruskan objek perangkat baru ke GpioClx, dan GpioClx mengalokasikan konteks perangkat untuk objek ini. Setelah itu, ketika GpioClx memanggil fungsi panggilan balik yang diimplementasikan driver, konteks perangkat ini diteruskan ke fungsi sebagai parameter.