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