1# Driver Loading 2 3## Overview 4 5The HDF loads the drivers that match the configured device list. 6 7## Driver Loading Policies 8 9The HDF supports on-demand loading and sequential loading of drivers. The **preload** field in the configuration file (see [Driver Development](../driver/driver-hdf-development.md)) specifies the loading policy of a driver. The values are as follows: 10 11```c 12typedef enum { 13 DEVICE_PRELOAD_ENABLE = 0, 14 DEVICE_PRELOAD_ENABLE_STEP2 = 1, 15 DEVICE_PRELOAD_DISABLE = 2, 16 DEVICE_PRELOAD_INVALID 17} DevicePreload; 18``` 19 20### On-Demand Loading 21 22- The value **0** (**DEVICE_PRELOAD_ENABLE**) means to load the driver by default during the system boot process. 23 24- The value **1** (**DEVICE_PRELOAD_ENABLE_STEP2**) means to load the driver after a quick start is complete. If the system does not support quick start, the value **1** has the same meaning as **DEVICE_PRELOAD_ENABLE**. 25 26- The value **2** (**DEVICE_PRELOAD_DISABLE**) means to load the driver dynamically. When a user-mode process requests the driver service, the HDF attempts to dynamically load the driver if the driver service is not available. For more details, see [Driver Messaging Mechanism](../driver/driver-hdf-message-management.md). 27 28### Sequential Loading (Default) 29 30The **priority** field (ranging from 0 to 200) in the configuration file determines the loading sequence of a host and a driver. For the drivers in different hosts, the drivers in the host with a smaller priority value are loaded first. For the drivers in the same host, the driver with a smaller priority value is loaded first. 31