DIF_NEWDEVICEWIZARD_PREANALYZE

A DIF_NEWDEVICEWIZARD_PREANALYZE request allows an installer to supply wizard pages that Windows displays to the user before it displays the analyze page. This request is only used during manual installation of non-PnP devices.

When Sent

After the user has selected a driver, but before Windows registers the device that makes the device node (devnode) "live."

Who Handles

Class Co-installer

Can handle

Device Co-installer

Does not handle

Class Installer

Can handle

Installer Input

DeviceInfoSet
Supplies a handle to the device information set that contains the device.

DeviceInfoData
Supplies a pointer to an SP_DEVINFO_DATA structure that identifies the device in the device information set.

Device Installation Parameters
There are device installation parameters (SP_DEVINSTALL_PARAMS) associated with the DeviceInfoData.

Class Installation Parameters
An SP_NEWDEVICEWIZARD_DATA structure is associated with the DeviceInfoData.

Installer Output

Device Installation Parameters
An installer can modify the flags in the device installation parameters. Windows does not check the flags upon completion of this DIF request. However, it checks them later in the installation process.

Class Installation Parameters
An installer can modify the SP_NEWDEVICEWIZARD_DATA to supply custom wizard page(s).

Installer Return Value

If a co-installer does not handle this DIF request it returns NO_ERROR from its preprocessing pass. If a co-installer handles this request it can return NO_ERROR, ERROR_DI_POSTPROCESSING_REQUIRED, or a Win32 error code.

A class installer returns NO_ERROR if it successfully supplies page(s). Otherwise, a class installer returns ERROR_DI_DO_DEFAULT or a Win32 error code.

Default DIF Code Handler

None

Installer Operation

A DIF_NEWDEVICEWIZARD_PREANALYZE request allows an installer to supply wizard pages that Windows displays to the user before it displays the analyze page. These pages can be thought of as "postselect" pages. This request is only used during manual installation of non-PnP devices.

An installer might use a custom preanalyze page, for example, to choose a COM port after a modem device is selected.

If an installer adds custom preselect page(s), the installer should first check whether NumDynamicPages in the class install parameters has reached MAX_INSTALLWIZARD_DYNAPAGES.

An installer should supply a Wizard 97 header title and a header subtitle in the PROPSHEETPAGE structure for a custom wizard page. An installer should not replace the system-supplied wizard title. See the Microsoft Windows SDK for documentation of the PROPSHEETPAGE structure and for more information about property pages.

For more information about DIF codes, see Handling DIF Codes.

Requirements

Version

Supported in Microsoft Windows 2000 and later versions of Windows.

Header

Setupapi.h (include Setupapi.h)

See also

DIF_NEWDEVICEWIZARD_PRESELECT

DIF_NEWDEVICEWIZARD_POSTANALYZE

DIF_NEWDEVICEWIZARD_SELECT

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS

SP_NEWDEVICEWIZARD_DATA