The Setup application programming interface (SetupAPI) is a system component that provides two sets of functions:

Device installation software can use these functions to perform custom operations in class installers, co-installers, and device installation applications.

For device installation applications, Driver Install Frameworks (DIFx) provides high-level tools that abstract the low-level SetupAPI operations that install Plug and Play (PnP) function drivers and manage the association between application software and the drivers. If the DIFx tools provide the functionality that an installation application requires to install PnP drivers and application software for devices, the installation application should use the DIFx tools instead of directly calling SetupAPI functions. However, co-installers and class installers are Microsoft Win32 DLLs that assist the default installation operation by performing custom operations for a device or all devices in a device setup class. These operations typically require direct calls to Win32 functions and SetupAPI functions.

This section contains the following topics, which provide general information about how to use the general Setup functions and device installation functions that are provided by SetupAPI:

Using General Setup Functions

Using Device Installation Functions

Guidelines for Using SetupAPI

Note  This section describes only a subset of the Setup functions in SetupAPI. For more information about this API, see Setup API .