DIF_ADDPROPERTYPAGE_ADVANCED

A DIF_ADDPROPERTYPAGE_ADVANCED request allows an installer to supply one or more custom property pages for a device.

When Sent

When a user clicks on the properties for a device in Device Manager or in Control Panel.

Who Handles

Class Co-installer

Can handle

Device Co-installer

Can handle

Class Installer

Can handle

Installer Input

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

DeviceInfoData
Optionally supplies a pointer to an SP_DEVINFO_DATA structure that identifies the device in the device information set. If DeviceInfoSet is NULL, Windows is requesting property pages for the device setup class.

Device Installation Parameters
Device installation parameters (SP_DEVINSTALL_PARAMS) are associated with the DeviceInfoData, if specified, or with the DeviceInfoSet.

Class Installation Parameters
An SP_ADDPROPERTYPAGE_DATA structure is associated with the DeviceInfoData, if specified, or with the DeviceInfoSet.

Installer Output

Device Installation Parameters
An installer can modify the device installation parameters.

Class Installation Parameters
An installer can modify the SP_ADDPROPERTYPAGE_DATA to supply custom pages.

Installer Return Value

A co-installer can return NO_ERROR or a Win32 error. A co-installer should not return ERROR_DI_POSTPROCESSING_REQUIRED for this DIF request.

A class installer returns NO_ERROR if it successfully supplies pages. Otherwise, a class installer returns ERROR_DI_DO_DEFAULT or a Win32 error code.

Default DIF Code Handler

None

Installer Operation

In response to this DIF request an installer can supply custom property pages. Handling this DIF request allows you to supply property pages from a class installer or co-installer and removes the need for a separate DLL that acts as a property-page provider.

An installer typically handles this DIF request to add a new device-specific or setup-class-specific property page. An installer can also replace the system-supplied driver property page, resource property page, or power property page for a device. If an installer replaces a system-supplied page, the installer must set the appropriate flag in the device installation parameters for the device:

DI_DRIVERPAGE_ADDED
The installer supplied a driver property page.

DI_RESOURCEPAGE_ADDED
The installer supplied a resource property page.

DI_FLAGSEX_POWERPAGE_ADDED
The installer supplied a power property page.

An installer cannot replace the system-supplied general properties page.

Windows only displays one driver page, one resource page, and one power page for a device. An installer should not supply a replacement system page if a previous installer already supplied a page of that type. This constraint does not apply to nonsystem-supplied property pages.

A co-installer should add custom pages in its preprocessing pass.

If an installer allows a user to set a property that requires Windows to remove and restart the device, the installer must set the DI_FLAGSEX_PROPCHANGE_PENDING flag in the device installation parameters from its DialogProc routine.

For more information about how to provide device property pages, see Providing Device 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

SP_ADDPROPERTYPAGE_DATA

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS