1e41f4b71Sopenharmony_ci# Introduction to Driver Development Kit 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciEmpowered 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. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci1. You can develop advanced peripheral functions to meet user requirements. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci2. The extended driver framework supports lifecycle management of peripheral drivers and provides APIs for querying and binding peripheral devices. 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## When to Use 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ciYou can use Driver Development Kit to: 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci1. Develop drivers of special 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci 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. 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci2. Develop enhanced functions of non-standard peripherals, 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci 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. 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci## Working Principles 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ciThe HDF extended driver framework provides unified APIs for you to leverage the DDK capabilities for user-mode peripheral driver development. 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ciThe 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. 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci **Figure 1** Peripheral driver working mechanism 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci### **Module Functions** 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci- 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). 34e41f4b71Sopenharmony_ci- Peripheral driver (application): dedicated peripheral driver or enhanced peripheral driver developed using HDF-DDK. For details, see [Peripheral Driver Development](driverextensionability.md). 35e41f4b71Sopenharmony_ci- Driver extension SA: performs lifecycle management of peripheral devices and driver packages. 36e41f4b71Sopenharmony_ci- AMS: starts and disables **DriverExtensionAbility**. 37e41f4b71Sopenharmony_ci 38e41f4b71Sopenharmony_ci### **Process Description** 39e41f4b71Sopenharmony_ci 40e41f4b71Sopenharmony_ciFigure 2 shows the process of matching a peripheral with a driver when a peripheral is connected. 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_ci**Figure 2** Process for matching a peripheral with a driver 43e41f4b71Sopenharmony_ci 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ciFigure 2 shows the process of binding the peripheral driver client with a peripheral driver when a peripheral application is run. 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci**Figure 3** Process of binding the peripheral driver client with a peripheral driver 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci 51