Stream Driver Interface of the Touch Driver MDD (Compact 2013)
3/26/2014
The touch driver is a stream interface driver that has two layers:
- The model device driver (MDD) layer, which is the upper layer that contains platform-independent code.
- The platform dependent driver (PDD) layer, which is the lower layer that contains platform-dependent code.
The API of the MDD layer is the stream interface, which treats the resources controlled by the driver as a set of files. The touch driver implements these functions required by the interface: Init, PreDeinit, Deinit, PreClose, Close, PowerDown, PowerUp, Read and IOControl.
GWES uses the touch proxy driver, which in turn uses the touch driver via its stream interface. For more information about the driver architecture, see Touch Driver Architecture. For more information about layered drivers, see Layered Drivers. For more information about stream drivers and the stream driver interface, see Stream Drivers.
The source code for the MDD is in directory %_WINCEROOT%\public\common\oak\drivers\touch\Tchstreammdd.
The following table describes some of the IOCTLs that the MDD implements for various purposes.
IOCTL |
Description |
---|---|
Returns platform-specific touch panel properties. |
|
Returns the current interrupt service thread (IST) sampling rate. |
|
Sets the IST sampling rate. |
|
Overrides the default calibration points that the touch proxy driver receives from the touch calibration DLL. |
|
Sets the time-out value for retrieving touch samples. |
|
Enables the touch panel interrupt request queue (IRQ). |
|
Disables the touch panel IRQ. |
|
Returns buffered touch samples. |