The CommDlgExtendedError function returns a common dialog box error code. This code indicates the most recent error to occur during the execution of one of the following common dialog box functions:
DWORD CommDlgExtendedError(VOID)
This function has no parameters.
If the most recent call to a common dialog box function succeeded, the return value is undefined.
If the common dialog box function returned FALSE because the user closed or canceled the dialog box, the return value is zero. Otherwise, the return value is a nonzero error code. For more information, see the following Remarks section.
The CommDlgExtendedError function can return general error codes for any of the common dialog box functions. In addition, there are error codes that are returned only for a specific common dialog box. The error codes returned by CommDlgExtendedError are defined in the CDERR.H file.
The following general error codes can be returned for any of the common dialog box functions:
Value |
Meaning |
CDERR_DIALOGFAILURE |
The dialog box could not be created. The common dialog box function’s call to the DialogBox function failed. For example, this error occurs if the common dialog box call specifies an invalid window handle. |
CDERR_FINDRESFAILURE |
The common dialog box function failed to find a specified resource. |
CDERR_INITIALIZATION |
The common dialog box function failed during initialization. This error often occurs when sufficient memory is not available. |
CDERR_LOADRESFAILURE |
The common dialog box function failed to load a specified resource. |
CDERR_LOADSTRFAILURE |
The common dialog box function failed to load a specified string. |
CDERR_LOCKRESFAILURE |
The common dialog box function failed to lock a specified resource. |
CDERR_MEMALLOCFAILURE |
The common dialog box function was unable to allocate memory for internal structures. |
CDERR_MEMLOCKFAILURE |
The common dialog box function was unable to lock the memory associated with a handle. |
CDERR_NOHINSTANCE |
The ENABLETEMPLATE flag was set in the Flags member of the initialization structure for the corresponding common dialog box, but you failed to provide a corresponding instance handle. |
CDERR_NOHOOK |
The ENABLEHOOK flag was set in the Flags member of the initialization structure for the corresponding common dialog box, but you failed to provide a pointer to a corresponding hook procedure. |
CDERR_NOTEMPLATE |
The ENABLETEMPLATE flag was set in the Flags member of the initialization structure for the corresponding common dialog box, but you failed to provide a corresponding template. |
CDERR_REGISTERMSGFAIL |
The RegisterWindowMessage function returned an error code when it was called by the common dialog box function. |
CDERR_STRUCTSIZE |
The lStructSize member of the initialization structure for the corresponding common dialog box is invalid. |
The following error codes can be returned for the PrintDlg function:
Value |
Meaning |
PDERR_CREATEICFAILURE |
The PrintDlg function failed when it attempted to create an information context. |
PDERR_DEFAULTDIFFERENT |
You called the PrintDlg function with the DN_DEFAULTPRN flag specified in the wDefault member of the DEVNAMES structure, but the printer described by the other structure members did not match the current default printer. (This error occurs when you store the DEVNAMES structure and the user changes the default printer by using the Control Panel.) |
To use the printer described by the DEVNAMES structure, clear the DN_DEFAULTPRN flag and call PrintDlg again. To use the default printer, replace the DEVNAMES structure (and the DEVMODE structure, if one exists) with NULL; and call PrintDlg again. | |
PDERR_DNDMMISMATCH |
The data in the DEVMODE and DEVNAMES structures describes two different printers. |
PDERR_GETDEVMODEFAIL |
The printer driver failed to initialize a DEVMODE structure. (This error code applies only to printer drivers written for Windows versions 3.0 and later.) |
PDERR_INITFAILURE |
The PrintDlg function failed during initialization, and there is no more specific extended error code to describe the failure. This is the generic default error code for the function. |
PDERR_LOADDRVFAILURE |
The PrintDlg function failed to load the device driver for the specified printer. |
PDERR_NODEFAULTPRN |
A default printer does not exist. |
PDERR_NODEVICES |
No printer drivers were found. |
PDERR_PARSEFAILURE |
The PrintDlg function failed to parse the strings in the [devices] section of the WIN.INI file. |
PDERR_PRINTERNOTFOUND |
The [devices] section of the WIN.INI file did not contain an entry for the requested printer. |
PDERR_RETDEFFAILURE |
The PD_RETURNDEFAULT flag was specified in the Flags member of the PRINTDLG structure, but the hDevMode or hDevNames member was not NULL. |
PDERR_SETUPFAILURE |
The PrintDlg function failed to load the required resources. |
The following error codes can be returned for the ChooseFont function:
Value |
Meaning |
CFERR_MAXLESSTHANMIN |
The size specified in the nSizeMax member of the CHOOSEFONT structure is less than the size specified in the nSizeMin member. |
CFERR_NOFONTS |
No fonts exist. |
The following error codes can be returned for the GetOpenFileName and GetSaveFileName functions:
Value |
Meaning |
FNERR_BUFFERTOOSMALL |
The buffer pointed to by the lpstrFile member of the OPENFILENAME structure is too small for the filename specified by the user. The first two bytes of the lpstrFile buffer contain an integer value specifying the size, in bytes (ANSI version) or characters (Unicode version), required to receive the full name. |
FNERR_INVALIDFILENAME |
A filename is invalid. |
FNERR_SUBCLASSFAILURE |
An attempt to subclass a list box failed because sufficient memory was not available. |
The following error code can be returned for the FindText and ReplaceText functions:
Value |
Meaning |
FRERR_BUFFERLENGTHZERO |
A member of the FINDREPLACE structure points to an invalid buffer. |
ChooseColor, CHOOSECOLOR, ChooseFont, CHOOSEFONT, DEVMODE, DEVNAMES, DialogBox, FINDREPLACE, FindText, GetOpenFileName, GetSaveFileName, OPENFILENAME, PageSetupDlg, PAGESETUPDLG, PrintDlg, PRINTDLG, RegisterWindowMessage, ReplaceText