SetupDiInstallClassExA function (setupapi.h)
The SetupDiInstallClassEx function installs a class installer or an interface class.
Syntax
WINSETUPAPI BOOL SetupDiInstallClassExA(
[in, optional] HWND hwndParent,
[in, optional] PCSTR InfFileName,
[in] DWORD Flags,
[in, optional] HSPFILEQ FileQueue,
[in, optional] const GUID *InterfaceClassGuid,
PVOID Reserved1,
PVOID Reserved2
);
Parameters
[in, optional] hwndParent
The handle to the parent window for any user interface that is used to install this class. This parameter is optional and can be NULL.
[in, optional] InfFileName
A pointer to a NULL-terminated string that contains the name of an INF file. This parameter is optional and can be NULL. If this function is being used to install a class installer, the INF file contains an INF ClassInstall32 section and this parameter must not be NULL.
If this function is being used to install an interface class, the INF file contains an INF InterfaceInstall32 section.
[in] Flags
A value of type DWORD that controls the installation process. Flags can be zero or a bitwise OR of the following values:
DI_NOVCP
Set this flag if FileQueue is supplied.
DI_NOVCP instructs the SetupInstallFromInfSection function not to create a queue of its own and to use the caller-supplied queue instead.
If this flag is set, files are not copied just queued.
For more information about the SetupInstallFromInfSection function, see the Microsoft Windows SDK documentation.
DI_NOBROWSE
Set this flag to disable browsing if a copy operation cannot find a specified file. If the caller supplies a file queue, this flag is ignored.
DI_FORCECOPY
Set this flag to always copy files, even if they are already present on the user's computer. If the caller supplies a file queue, this flag is ignored.
DI_QUIETINSTALL
Set this flag to suppress the user interface unless absolutely necessary. For example, do not display the progress dialog. If the caller supplies a file queue, this flag is ignored.
[in, optional] FileQueue
If the DI_NOVCP flag is set, this parameter supplies a handle to a file queue where file operations should be queued but not committed.
[in, optional] InterfaceClassGuid
A pointer to a GUID that identifies the interface class to be installed. This parameter is optional and can be NULL. If this parameter is specified, this function is being used to install the interface class represented by the GUID. If this parameter is NULL, this function is being used to install a class installer.
Reserved1
Reserved. Must be zero.
Reserved2
Reserved. Must be zero.
Return value
SetupDiInstallClassEx returns TRUE if it is successful. Otherwise, it returns FALSE and the logged error can be retrieved with a call to GetLastError.
Remarks
The caller of this function must be a member of the Administrators group.
SetupDiInstallClassEx is typically called by a class installer to install a new device setup class or a new device interface class.
Note
The setupapi.h header defines SetupDiInstallClassEx as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Microsoft Windows 2000 and later versions of Windows. |
Target Platform | Desktop |
Header | setupapi.h (include Setupapi.h) |
Library | Setupapi.lib |