#define IOCTL_TOUCH_CALIBRATE_SET_COEFFS \ CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_TOUCH_CALIBRATE_GET_RAW CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_BUFFERED, FILE_ANY_ACCESS)
Define a custom IOCTL in your header:
NTSTATUS DeviceAdd(WDFDRIVER Driver, PWDFDEVICE_INIT DeviceInit) kmdf hid minidriver for touch i2c device calibration
Pseudo-code:
// Configure I2C connection using resource list PVIDEO_PNP_DEVICE pDev = CreateDeviceContext(); To allow a user-mode calibration tool to interact with your driver, you must provide a private IOCTL. This is how the calibration GUI collects raw points and sends back coefficients. kmdf hid minidriver for touch i2c device calibration