INSTALLWIZARDDATA


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.