DiCallClassInstaller

RETERR DiCallClassInstaller(DI_FUNCTIONS diFctn, LPDEVICE_INFO lpdi)
 

Call the appropriate class installer with the specifed installer function.

diFctn
Class installer function to call. This can be one of the following:
DIF_SELECTDEVICE Select a driver to be installed for the device.
DIF_INSTALLDEVICE Install the driver for the device.
DIF_PROPERTIES Display a properties dialog for the device.
DIF_REMOVE Remove the device.
DIF_FIRSTTIMESETUP Perform first time setup initialization. This message is sent during the first boot of Windows 95 and contains only class information.
DIF_SELECTCLASSDRIVERS Select drivers for all devices of the class specified by the lpdi.
DIF_VALIDATECLASSDRIVERS Ensure all devices of the class specified by the lpdi are ready to be installed.
DIF_INSTALLCLASSDRIVERS Install drivers for all devices of the class specified by the lpdi.
DIF_CALCDISKSPACE Compute the amount of disk space required by drivers for the device.
DIF_DESTROYPRIVATEDATA Destroy any private date referenced by the lpdi->dwClassInstallReserved.
DIF_MOVEDEVICE The device is being moved to a new location in HKLM\ENUM.
DIF_DETECT Detect any devices of class specificed by the lpdi.
DIF_INSTALLWIZARD Add any pages necessary to the New Device Wizard for the class specified by the lpdi.
DIF_DESTROYWIZARDDATA Destroy any private data allocated due to a DIF_INSTALLWIZARD message.
DIF_PROPERTYCHANGE The device's properties are changing. The device is being enabled, disabled, or has had a resource change.
DIF_DETECTVERIFY The class installer should verify any devices it previously detected. Non verified devices should be removed.
DIF_INSTALLDEVICEFILES The class installer should only install the driver files for the selected device.

lpdi
Pointer to a DEVICE_INFO struct for the device who's class installer is to be called.

This function will attempt to load and call the class installer for the class listed in the lpdi->szClassName field. If there is no class installer, or the class installer returns ERR_DI_DO_DEFAULT, then this function will call a default procedure for the specified class installer function.