typedef struct { UINT cbSize; LPDEVICE_INFO lpdiOriginal; LPDEVICE_INFO lpdiSelected; DWORD dwFlags; LPVOID lpConfigData; WORD wAnalyzeResult; HPROPSHEETPAGE hpsDynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]; WORD wNumDynaPages; DWORD dwDynaWizFlags; DWORD dwPrivateFlags; LPARAM lpPrivateData; LPSTR lpExtraRunDllParams; HWND hwndWizardDlg; } INSTALLWIZARDDATA;
DIF_INSTALLWIZARD class install parameters. This struct is used by class installers to extend the operation of the hardware installation wizard by adding custom pages.
cbSize
Size of the INSTALLWIZARDDATA struct.
lpdiOriginal
Pointer to the Original DEVICE_INFO struct at the start of the manual installation.
lpdiSelected
Pointer to the current DEVICE_INFO struct that is being manually selected.
dwFlags
Flags that control the operation of the hardware installation wizard. There are currently none defined.
lpConfigData
Pointer to configuration data for analysis to determine if the selected device can be installed with no conflicts.
wAnalyzeResult
Results of analysis to determine if the device can be installed with no problems. The following values are defined:
ANALYZE_FACTDEF_OK | The device can be installed using its factory default settings. |
ANALYZE_STDCFG_OK | The device can be installed using a configuration specified in one if its basic logical configurations. The user will probably have to set jumpers or switches on the hardware to match the settings determined by the install wizard. |
ANALYZE_CONFLICT | The device cannot be installed without causing a conflict with another device. |
ANALYZE_NORESOURCES | The device does not require any resources, so it can be installed witth no conflicts. |
ANALYZE_ERROR | There was an error during analysis. |
ANALYZE_PNP_DEV | The device has a least one softsettable logical configurations, allowing it to be automatically configured. Additionally the device will be enumerated by one of the standard bus enumerators, so it does not require manual installation, except to pre-copy driver files. |
hpsDynamicPages[MAX_INSTALLWIZARD_DYNAPAGES]
An array of property sheet page handles. The class installer would use this array to create custom wizard pages, and insert their handles into this array.
wNumDynaPages
The number of pages inserted into the hpsDynamicPages array.
dwDynaWizFlags
Flags that control the behavior of the installation wizard whtn dynamic pages have been added.
DYNAWIZ_FLAG_PAGESADDED | Will be set by the install wizard if the class installer adds custom pages. |
DYNAWIZ_FLAG_INSTALLDET_NEXT | If set, the install wizard will allow going forward from the detected devices page, otherwise finish will be the default option for the detected devices page. |
DYNAWIZ_FLAG_INSTALLDET_PREV | If set, the install wizard will allow going back from the detected devices page. |
DYNAWIZ_FLAG_ANALYZE_HANDLECONFLICT | If set, the class installer will handle the case where the selected device cannot be installed because of a conflict. |
dwPrivateFlags
Flags that may be defined and used by the class installer.
lpPrivateData
Pointer to private reference data defined and set by the class installer.
lpExtraRunDllParams
Pointer to a string containing extra parameters passed to the hardware install rundll function.
hwndWizardDlg
Window handle of the install wizard top level window.