DirectXSetupCallbackFunction

DirectXSetupCallbackFunction is a placeholder name for a callback function supplied by the setup program. The callback function reports the status of the current installation process. It also can provide information for use by the MessageBox function.

DWORD DirectXSetupCallbackFunction(
  DWORD  Reason,   // reason for the callback
  DWORD  MsgType,  // same as MessageBox
  char *szMessage, // message string
  char *szName,    // depends on Reason
  void *pInfo      // upgrade information
);
 

Parameters

Reason
Reason for the callback. It can be one of the following values.
DSETUP_CB_MSG_BEGIN_INSTALL
DirectXSetup is about to begin installing DirectX components and device drivers.
DSETUP_CB_MSG_BEGIN_INSTALL_DRIVERS
DirectXSetup is about to begin installing device drivers.
DSETUP_CB_MSG_BEGIN_INSTALL_RUNTIME
DirectXSetup is about to begin installing DirectX components.
DSETUP_CB_MSG_BEGIN_RESTORE_DRIVERS
DirectXSetup is about to begin restoring previous drivers.
DSETUP_CB_MSG_CANTINSTALL_BETA
A pre-release beta version of Windows 95 was detected. The DirectX component or device driver can't be installed.
DSETUP_CB_MSG_CANTINSTALL_NOTWIN32
The operating system detected is not Windows 95 or Windows NTŪ. DirectX is not compatible with Windows 3.x.
DSETUP_CB_MSG_CANTINSTALL_NT
The DirectX component or device driver can't be installed on versions of Windows NT prior to version 4.0.
DSETUP_CB_MSG_CANTINSTALL_UNKNOWNOS
The operating system is unknown. The DirectX component or device driver can't be installed.
DSETUP_CB_MSG_CANTINSTALL_WRONGLANGUAGE
The DirectX component or device driver is not localized to the language being used by Windows.
DSETUP_CB_MSG_CANTINSTALL_WRONGPLATFORM
The DirectX component or device driver is for another type of computer.
DSETUP_CB_MSG_CHECK_DRIVER_UPGRADE
Driver is being considered for upgrade. Verification from user is recommended.
DSETUP_CB_MSG_INTERNAL_ERROR
An internal error has occurred. Setup of the DirectX component or device driver has failed.
DSETUP_CB_MSG_NOMESSAGE
No message to be displayed. The callback function should return.
DSETUP_CB_MSG_NOTPREINSTALLEDONNT
The DirectX component or device driver can't be installed on the version of Windows NT in use.
DSETUP_CB_MSG_PREINSTALL_NT
DirectX is already installed on the version of Windows NT in use.
DSETUP_CB_MSG_SETUP_INIT_FAILED
Setup of the DirectX component or device driver has failed.

MsgType
Contains flags that control the display of a message box. These flags can be passed to the MessageBox function. An exception is when MsgType is equal to zero. In that case, the setup program can display status information but should not wait for input from the user.
szMessage
A localized character string containing error or status messages that can be displayed in a message box created with the MessageBox function.
szName
The value of szName is NULL unless the Reason parameter is DSETUP_CB_MSG_CHECK_DRIVER_UPGRADE. In that case, szName contains the name of driver to be upgraded.
pInfo
Pointer to a structure containing upgrade information. When Reason is DSETUP_CB_MSG_CHECK_DRIVER_UPGRADE, the setup program is in the process of upgrading a driver and asking the user whether the upgrade should take place. This structure contains information about the upgrade in its UpgradeType member, which can have the following values.
DSETUP_CB_UPGRADE_CANTBACKUP
The old system components can't be backed up. Upgrade can be performed, but the components or drivers can't be restored later.
DSETUP_CB_UPGRADE_DEVICE_ACTIVE
The device is currently in use.
DSETUP_CB_UPGRADE_DEVICE_DISPLAY
The device driver being upgraded is for a display device.
DSETUP_CB_UPGRADE_DEVICE_MEDIA
The device driver being upgraded is for a media device.
DSETUP_CB_UPGRADE_FORCE
Windows may not function correctly if the component is not upgraded. The upgrade will be performed.
DSETUP_CB_UPGRADE_HASWARNINGS
DirectXSetup can upgrade the driver for this device, but doing so may affect one or more programs on the system. szMessage contains the names of which programs may be affected. Upgrade not recommended.
DSETUP_CB_UPGRADE_KEEP
The system may fail if this device driver is upgraded. Upgrade not allowed.
DSETUP_CB_UPGRADE_SAFE
DirectXSetup can safely upgrade this device driver. Upgrade recommended. A safe upgrade will not adversely affect the operation of Windows. Some hardware-dependent programs may be adversely affected.
DSETUP_CB_UPGRADE_UNKNOWN
DirectXSetup does not recognize the existing driver for this device. This value will occur frequently. Upgrading may adversely affect the use of the device. It is strongly recommended that the upgrade not be performed.
DSETUP_CB_UPGRADE_UNNECESSARY
The existing device driver is newer than the driver being installed. An upgrade is not recommended.

Return Values

The return value should be the same as the MessageBox function, with one exception. If this function returns zero, the DirectXSetup function will act as if no callback function was present. That is, it will perform the default action for upgrade of the DirectX component or driver.

Remarks

The name of the DirectXSetupCallbackFunction is supplied by the setup program. The DirectXSetupSetCallback function is used to pass the address of the callback function to DirectSetup.

If MsgType is equal to zero, the setup program may display status information, but it should not wait for user input. This is useful for displaying ongoing status information.

QuickInfo

  Windows NT: Use version 5.0 or later.
  Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Header: Declared in dsetup.h.
  Import Library: User-defined.

See Also

MessageBox, DirectXSetupSetCallback, Customizing Setup With the DirectSetup Callback Function