SP_CLASSINSTALL_HEADER
typedef struct _SP_CLASSINSTALL_HEADER {
DWORD cbSize;
DI_FUNCTION InstallFunction;
} SP_CLASSINSTALL_HEADER, *PSP_CLASSINSTALL_HEADER;
SP_CLASSINSTALL_HEADER must be the first member of any class install parameter
structure. It defines the class installation request of the install parameter
structure.
Members
-
cbSize
-
Contains the size, in bytes, of the SP_CLASSINSTALL_HEADER structure.
-
InstallFunction
-
Specifies the class installation request for a class install parameter
structure. Can be one of the following:
-
DIF_SELECTDEVICE
-
Select a driver to be installed for the device. This request uses the
SP_SELECTDEVICE_PARAMS structure.
-
DIF_INSTALLDEVICE
-
Install the driver for the device.
-
DIF_PROPERTIES
-
Display a properties dialog for the device (must specify a particular device
in DeviceInfoData).
-
DIF_REMOVE
-
Remove the device. This request uses the SP_REMOVEDEVICE_PARAMS structure.
-
DIF_FIRSTTIMESETUP
-
Perform first-time class initialization. This request is only used for the
global class information associated with the device information set.
-
DIF_SELECTCLASSDRIVERS
-
Select drivers for all devices of the class associated with the device
information set or element.
-
DIF_VALIDATECLASSDRIVERS
-
Ensure that all devices of the class associated with the device information
set or element are ready to be installed.
-
DIF_INSTALLCLASSDRIVERS
-
Install drivers for all devices of the class associated with the device
information set or element.
-
DIF_CALCDISKSPACE
-
Compute the amount of disk space required by drivers for the device.
-
DIF_DESTROYPRIVATEDATA
-
Destroy any allocated private data stored in the ClassInstallReserved
field of the SP_DEVINSTALL_PARAMS structure for the specified device
information set or element.
-
DIF_MOVEDEVICE
-
Move the device to a new location in the Enum registry branch. This
request uses the SP_MOVEDEV_PARAMS structure.
-
DIF_DETECT
-
Detect any devices of the class associated with the device information set or
element.
-
DIF_INSTALLWIZARD
-
Add any pages necessary to the New Device Wizard for the class associated with
the device information set or element. This request uses the
SP_INSTALLWIZARD_DATA structure.
-
DIF_DESTROYWIZARDDATA
-
Destroy any private data allocated by a DIF_INSTALLWIZARD request. This
request uses the SP_INSTALLWIZARD_DATA structure.
-
DIF_PROPERTYCHANGE
-
The device’s properties are changing. The device is being enabled, disabled,
started, stopped, or has had a resource change. This request uses the
SP_PROPCHANGE_PARAMS structure.
-
DIF_INSTALLDEVICEFILES
-
Install only the driver files for the selected device.
-
DeviceInfoSet
-
Supplies a handle to the device information set of the class to install.
-
DeviceInfoData
-
Supplies a pointer to an SP_DEVINFO_DATA structure indicating a particular
member whose class installer should be called. If this parameter is not
specified, the class installer associated with the device information set is
called.
Comments
The InstallFunction member must be set to the function code
corresponding to the type of structure and cbSize must be set to the
size of the SP_CLASSINSTALL_HEADER structure. For example:
SP_REMOVEDEVICE_PARAMS RemoveDeviceParams;
RemoveDeviceParams.ClassInstallHeader.cbSize = sizeof(SP_CLASSINSTALL_HEADER);
RemoveDeviceParams.ClassInstallHeader.InstallFunction = DIF_REMOVE;
See Also
SetupDiCallClassInstaller, SetupDiGetClassInstallParams,
SetupDiSetClassInstallParams,
SP_INSTALLWIZARD_DATA, SP_MOVEDEV_PARAMS,
SP_PROPCHANGE_PARAMS, SP_REMOVEDEVICE_PARAMS,
SP_SELECTDEVICE_PARAMS