1# Introduction to Driver Development Kit 2 3Empowered by the C-API solution, Driver Development Kit provides easy-to-use, secure, and diversified C APIs to elevate your experience in developing peripheral drivers, which bring ultimate plug-and-play experience to users. 4 51. You can develop advanced peripheral functions to meet user requirements. 6 72. The extended driver framework supports lifecycle management of peripheral drivers and provides APIs for querying and binding peripheral devices. 8 9## When to Use 10 11You can use Driver Development Kit to: 12 131. Develop drivers of special 14 15 peripherals for bank counters, enterprise office, and medical detection, such as high-speed document scanners, ID card scanners, fingerprint scanners, and blood oxygen and blood glucose meters. 16 172. Develop enhanced functions of non-standard peripherals, 18 19 such as customizing handwriting pad shortcut keys, setting the pressure sensing/drawing area, setting extended enhancement capabilities, setting the mouse lighting effect, customizing mouse extended buttons, and setting DPI and X and Y axes. 20 21## Working Principles 22 23The HDF extended driver framework provides unified APIs for you to leverage the DDK capabilities for user-mode peripheral driver development. 24 25The driver extension system ability (SA), the core service of user-mode peripheral management, performs lifecycle management of peripherals and peripheral drivers. In addition, standard ArkTS APIs are provided to query, bind, and unbind peripherals. 26 27 **Figure 1** Peripheral driver working mechanism 28 29 30 31### **Module Functions** 32 33- Peripheral application: queries and binds the driver, and customizes the device-driver communication mode and data processing mode. For details, see [Peripheral Driver Client Development](externaldevice-guidelines.md). 34- Peripheral driver (application): dedicated peripheral driver or enhanced peripheral driver developed using HDF-DDK. For details, see [Peripheral Driver Development](driverextensionability.md). 35- Driver extension SA: performs lifecycle management of peripheral devices and driver packages. 36- AMS: starts and disables **DriverExtensionAbility**. 37 38### **Process Description** 39 40Figure 2 shows the process of matching a peripheral with a driver when a peripheral is connected. 41 42**Figure 2** Process for matching a peripheral with a driver 43 44 45 46Figure 2 shows the process of binding the peripheral driver client with a peripheral driver when a peripheral application is run. 47 48**Figure 3** Process of binding the peripheral driver client with a peripheral driver 49 50 51