CommDlgExtendedError 函数 (commdlg.h)

返回常见对话框错误代码。 此代码指示执行其中一个常见对话框函数期间发生的最新错误。

语法

DWORD CommDlgExtendedError();

返回值

类型:DWORD

如果最近一次调用公共对话框函数成功,则返回值未定义。 如果常见对话框函数由于用户关闭或取消对话框而返回 FALSE ,则返回值为零。 否则,返回值为非零错误代码。

CommDlgExtendedError 函数可以返回任何常见对话框函数的一般错误代码。 此外,还有一些仅针对特定常见对话框返回的错误代码。 所有这些错误代码都在 Cderr.h 中定义。 可为任何常见对话框函数返回以下常规错误代码。

返回代码/值 说明
CDERR_DIALOGFAILURE
0xFFFF
无法创建对话框。 通用对话框函数对 DialogBox 函数的调用失败。 例如,如果公共对话框调用指定了无效的窗口句柄,则会发生此错误。
CDERR_FINDRESFAILURE
0x0006
通用对话框函数未能找到指定的资源。
CDERR_INITIALIZATION
0x0002
常见对话框函数在初始化期间失败。 当内存不足时,通常会发生此错误。
CDERR_LOADRESFAILURE
0x0007
通用对话框函数未能加载指定的资源。
CDERR_LOADSTRFAILURE
0x0005
通用对话框函数未能加载指定的字符串。
CDERR_LOCKRESFAILURE
0x0008
通用对话框函数未能锁定指定的资源。
CDERR_MEMALLOCFAILURE
0x0009
通用对话框函数无法为内部结构分配内存。
CDERR_MEMLOCKFAILURE
0x000A
通用对话框函数无法锁定与句柄关联的内存。
CDERR_NOHINSTANCE
0x0004
ENABLETEMPLATE 标志是在相应公共对话框的初始化结构的 Flags 成员中设置的,但未能提供相应的实例句柄。
CDERR_NOHOOK
0x000B
ENABLEHOOK 标志是在相应公共对话框的初始化结构的 Flags 成员中设置的,但未能提供指向相应挂钩过程的指针。
CDERR_NOTEMPLATE
0x0003
ENABLETEMPLATE 标志是在相应公共对话框的初始化结构的 Flags 成员中设置的,但未能提供相应的模板。
CDERR_REGISTERMSGFAIL
0x000C
RegisterWindowMessage 函数在由通用对话框函数调用时返回错误代码。
CDERR_STRUCTSIZE
0x0001
对应公共对话框的初始化结构的 lStructSize 成员无效。
 

可以为 PrintDlg 函数返回以下错误代码。

返回代码/值 说明
PDERR_CREATEICFAILURE
0x100A
PrintDlg 函数在尝试创建信息上下文时失败。
PDERR_DEFAULTDIFFERENT
0x100C
你使用 DEVNAMES 结构的 wDefault 成员中指定的DN_DEFAULTPRN标志调用 PrintDlg 函数,但其他结构成员描述的打印机与当前默认打印机不匹配。 当你存储 DEVNAMES 结构,并且用户使用 控制面板更改默认打印机时,会发生此错误。

若要使用 DEVNAMES 结构描述的打印机,请清除 DN_DEFAULTPRN 标志并再次调用 PrintDlg

若要使用默认打印机,请将 DEVNAMES 结构 (和 结构(如果存在)替换为 NULL) ;并再次调用 PrintDlg

PDERR_DNDMMISMATCH
0x1009
DEVMODEDEVNAMES 结构中的数据描述了两个不同的打印机。
PDERR_GETDEVMODEFAIL
0x1005
打印机驱动程序无法初始化 DEVMODE 结构。
PDERR_INITFAILURE
0x1006
PrintDlg 函数在初始化期间失败,没有更具体的扩展错误代码来描述失败。 这是函数的通用默认错误代码。
PDERR_LOADDRVFAILURE
0x1004
PrintDlg 函数无法加载指定打印机的设备驱动程序。
PDERR_NODEFAULTPRN
0x1008
默认打印机不存在。
PDERR_NODEVICES
0x1007
找不到打印机驱动程序。
PDERR_PARSEFAILURE
0x1002
PrintDlg 函数无法分析 WIN.INI 文件的 [devices] 节中的字符串。
PDERR_PRINTERNOTFOUND
0x100B
WIN.INI 文件的 [devices] 部分不包含所请求打印机的条目。
PDERR_RETDEFFAILURE
0x1003
PD_RETURNDEFAULT标志在 PRINTDLG 结构的 Flags 成员中指定,但 hDevModehDevNames 成员不是 NULL
PDERR_SETUPFAILURE
0x1001
PrintDlg 函数无法加载所需的资源。
 

可以为 ChooseFont 函数返回以下错误代码。

返回代码/值 说明
CFERR_MAXLESSTHANMIN
0x2002
CHOOSEFONT 结构的 nSizeMax 成员中指定的大小小于 nSizeMin 成员中指定的大小。
CFERR_NOFONTS
0x2001
不存在字体。
 

可以为 GetOpenFileName 和 GetSaveFileName 函数返回以下错误代码。

返回代码/值 说明
FNERR_BUFFERTOOSMALL
0x3003
OPENFILENAME 结构的 lpstrFile 成员指向的缓冲区对于用户指定的文件名来说太小。 lpstrFile 缓冲区的前两个字节包含一个整数值,该值指定接收全名所需的大小(以字符为单位)。
FNERR_INVALIDFILENAME
0x3002
文件名无效。
FNERR_SUBCLASSFAILURE
0x3001
尝试将列表框子类化失败,因为没有足够的内存可用。
 

可以为 FindTextReplaceText 函数返回以下错误代码。

返回代码/值 说明
FRERR_BUFFERLENGTHZERO
0x4001
FINDREPLACE 结构的成员指向无效的缓冲区。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 commdlg.h (包括 Windows.h)
Library Comdlg32.lib
DLL Comdlg32.dll
API 集 ext-ms-win-shell-comdlg32-l1-1-0 (在 Windows 10 版本 10.0.10240 中引入)

另请参阅

CHOOSECOLOR

CHOOSEFONT

ChooseColor

ChooseFont

通用对话框库

概念性

DEVNAMES

DialogBox

FINDREPLACE

FindText

GetOpenFileName

GetSaveFileName

OPENFILENAME

PAGESETUPDLG

PRINTDLG

PageSetupDlg

PrintDlg

引用

RegisterWindowMessage

ReplaceText