name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">
函数功能:该函数返回一个对话框错误代码,此代码显示出在执行下列对话框函数时要出现的最近的错误:ChooseColor,GetOpenFileName,ChooseFont,GetSaveFileName,FindText,PrintDlg,ReplaceText,PageSetpDlg。
函数原型:DWORD CommDlgExtendedError(VOID)
参数:无。
返回值:如果最近一次对话框函数调用成功,返回值不确定,如果对话框函数因为用户关闭或取消对话框而返回FALSE,则返回值为零。否则返回值是非零错误代码。有关更多的信息,参见下列说明部分。
备注:CommDlgExtendedError函数可以返回公共对话框函数中的一般的错误代码。
另外,也返回某一具体公共对话框的错误代码。由CommDlgExtendedError返回的错误代码在CDERR.H文件里定义:
下面是CommDlgExtendedError的返回错误代码值。
CDERR_DIALOGFAILURE:对话框不能创建。DialogBox函数对对话框函数的调用失败,例如如果公共对话框的调用指定一个无效的窗口句柄,则此种错误产生。
CDERR_FINDRESFAILURE:公共对话框函数没能找到指定资源。
CDERR_INITIALIZATION:公共对话框函数在初始化过程中失败。当没有足够内存时此错误出现。
CDERR_LOADRESFAILURE:公共对话框函数没能调出指定的资源。
CDERR_LOADSTRFAILURE:公共对话框函数没能调出指定的串。
CDERR_LOCKRESFAILURE:公共对话框函数没能销定指定的资源。
CDERR_EMAILCOLFAILURE;公共对话框函数不能为内部结构分配内存。
CDERR_NOHINSTANCE:在对应的公共对话框初始化结构Flags成员中设置ENABLETEMPLATE标志,但是在提供相应的事例句柄时出错。
CDERR_NOHOOK:在对应的公共对话框初始化结构Flags成员中设置ENABLEHOOK标志,但是在提供相应的挂钩程序指针时出错。
CDERR_NOTEMPLATE:在对应的公共对话框初始化结构Flag成员中设置ENABLETEMPLATE标志,但是在提供相应的模板时出错。
CDERR_REGISTERMSGFAIL:当RegisterWindowMessage函数被公共对话框函数调用时,该函数返回错误代码。
CDERR_STRUCTSIZE:对应的公共对话框初始化结构旧IStructSize成无效成员。
下列为Print Dlg函数的返回值。
PDERR_CREATEICFAILURE:当PrintDlg函数想创建一个信息表时出错。
PDERR_DEFAIKTDFFERENT:利用在DEVNAMES结构中wDefault成员指定的DN_DEFAULTPRN标志,可以调用PrintDlg函数。但是被另外一个结构成员描述的打印机与当前缺省的打印机不匹配。(此错误发生在储存DEVNAMES结构和用户利用控制面板改变缺省打印机时)。要使用DEVNAMES结构所描述的缺省打印机,必须清空DN_DEFAULTPRN标志并且要再一次调用PrintDlg。要使用缺省打印机,必须用NULL取代DEVNAMES结构俐DEVMODE结构,如果此结构存在的话),并且要再一次调用PrintDlg函数。
PDERR_DNDMMISMATCH:OEVMOOE和DEVNAMFS结构中的数据描述了两种不同的打印机。
PDERR_GETDEVMODEFAIL;打印机驱动程序不能初始化一个DEVMODE结构(这种错误代码只用于Windows 3.0及以上版本的打印机驱动程序)。
PDERR_INITFAILURE:PrintDlg函数不能初始化,并且没有更多的错误代码来描述此错误。
PDERR_LOADDRVFAILURE:PrinDlg函数不能为指定的打印机装备设备驱动器。
POERR_NODEFAULTPRN:不存在缺省打印机。
POERR_NODEVKES:未发现打印机驱动程序。
PDERR_PARAEFAILURE:PrintDlg函数在分析WIN.INI文件中的[devces]部分的字符串时出错。
PDERR_PRINTERNOTFOUND;WIN.INI文件的[device]部分不包含所请求打印机的入口
PDERR_RETDEFFAILURE_PD:RETURNDEFAULT标志被指定在PRINTDLG结构的Flags成员中。但hDevMode或hDevNames成员不是NULL。
PDERR_SETUPFAILURE:PrintDlg函数在装载所需要的资源时出错。
下面是ChooseFont函数的返回值。
CFERR_MAXLESSTHANMIN:CHOOSEFONT结构中的nSizeMax成员所给定的大小小于nSizeMin成员给定的大小。
CFERR_NOFONTS:不存在字体。
下面是GetOpenFileName和GetSaveFileName函数的返回值。
FNERR_BUFFERTOOSMALL:由OPENFILENAME结构的lpstrFile成员指向的缓冲区对由用户指定的文件名来说太小。前两种IpstrFile缓冲区的字节含有一个指定大小的整型值。用来存放全文件名。
FNERR_INVAIDFILENAME:文件名无效。
FNERR_SUBASSFAILIIRE:由于没有足够内存,在对列表框分类时出错。
下面是FindText和ReplaceText函数的返回值。
FRERR_BUFFERLENGTHZERO:结构FINDREPLACE中的一个成员指向一个无效的缓冲区。
在Windows CE中Windows CE支持另外的四种返回值,如下:
CDERR_REGISTRYFAILURE 公共对话框函数无法读注册表。
下面的一些返回值只适用于PrintDlg函数。
PDERR_NOPORTS:没有注册的端口PDERR_NOPRINTERS:没有注册的打印机
PDERR_CREATEDCFAILURE:CreateDC调用失败
Windows CE不支持CDERR_LOADSTRFAILURE、CDERR_MEMLOCKFAILURE或CDERR_REGISTERMSGFAIL返回值。Windows CE也不支持任何PDERR_错误值。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本:头文件:commdlg.h;库文件:comdlg32.lib。
函数原型:DWORD CommDlgExtendedError(VOID)
参数:无。
返回值:如果最近一次对话框函数调用成功,返回值不确定,如果对话框函数因为用户关闭或取消对话框而返回FALSE,则返回值为零。否则返回值是非零错误代码。有关更多的信息,参见下列说明部分。
备注:CommDlgExtendedError函数可以返回公共对话框函数中的一般的错误代码。
另外,也返回某一具体公共对话框的错误代码。由CommDlgExtendedError返回的错误代码在CDERR.H文件里定义:
下面是CommDlgExtendedError的返回错误代码值。
CDERR_DIALOGFAILURE:对话框不能创建。DialogBox函数对对话框函数的调用失败,例如如果公共对话框的调用指定一个无效的窗口句柄,则此种错误产生。
CDERR_FINDRESFAILURE:公共对话框函数没能找到指定资源。
CDERR_INITIALIZATION:公共对话框函数在初始化过程中失败。当没有足够内存时此错误出现。
CDERR_LOADRESFAILURE:公共对话框函数没能调出指定的资源。
CDERR_LOADSTRFAILURE:公共对话框函数没能调出指定的串。
CDERR_LOCKRESFAILURE:公共对话框函数没能销定指定的资源。
CDERR_EMAILCOLFAILURE;公共对话框函数不能为内部结构分配内存。
CDERR_NOHINSTANCE:在对应的公共对话框初始化结构Flags成员中设置ENABLETEMPLATE标志,但是在提供相应的事例句柄时出错。
CDERR_NOHOOK:在对应的公共对话框初始化结构Flags成员中设置ENABLEHOOK标志,但是在提供相应的挂钩程序指针时出错。
CDERR_NOTEMPLATE:在对应的公共对话框初始化结构Flag成员中设置ENABLETEMPLATE标志,但是在提供相应的模板时出错。
CDERR_REGISTERMSGFAIL:当RegisterWindowMessage函数被公共对话框函数调用时,该函数返回错误代码。
CDERR_STRUCTSIZE:对应的公共对话框初始化结构旧IStructSize成无效成员。
下列为Print Dlg函数的返回值。
PDERR_CREATEICFAILURE:当PrintDlg函数想创建一个信息表时出错。
PDERR_DEFAIKTDFFERENT:利用在DEVNAMES结构中wDefault成员指定的DN_DEFAULTPRN标志,可以调用PrintDlg函数。但是被另外一个结构成员描述的打印机与当前缺省的打印机不匹配。(此错误发生在储存DEVNAMES结构和用户利用控制面板改变缺省打印机时)。要使用DEVNAMES结构所描述的缺省打印机,必须清空DN_DEFAULTPRN标志并且要再一次调用PrintDlg。要使用缺省打印机,必须用NULL取代DEVNAMES结构俐DEVMODE结构,如果此结构存在的话),并且要再一次调用PrintDlg函数。
PDERR_DNDMMISMATCH:OEVMOOE和DEVNAMFS结构中的数据描述了两种不同的打印机。
PDERR_GETDEVMODEFAIL;打印机驱动程序不能初始化一个DEVMODE结构(这种错误代码只用于Windows 3.0及以上版本的打印机驱动程序)。
PDERR_INITFAILURE:PrintDlg函数不能初始化,并且没有更多的错误代码来描述此错误。
PDERR_LOADDRVFAILURE:PrinDlg函数不能为指定的打印机装备设备驱动器。
POERR_NODEFAULTPRN:不存在缺省打印机。
POERR_NODEVKES:未发现打印机驱动程序。
PDERR_PARAEFAILURE:PrintDlg函数在分析WIN.INI文件中的[devces]部分的字符串时出错。
PDERR_PRINTERNOTFOUND;WIN.INI文件的[device]部分不包含所请求打印机的入口
PDERR_RETDEFFAILURE_PD:RETURNDEFAULT标志被指定在PRINTDLG结构的Flags成员中。但hDevMode或hDevNames成员不是NULL。
PDERR_SETUPFAILURE:PrintDlg函数在装载所需要的资源时出错。
下面是ChooseFont函数的返回值。
CFERR_MAXLESSTHANMIN:CHOOSEFONT结构中的nSizeMax成员所给定的大小小于nSizeMin成员给定的大小。
CFERR_NOFONTS:不存在字体。
下面是GetOpenFileName和GetSaveFileName函数的返回值。
FNERR_BUFFERTOOSMALL:由OPENFILENAME结构的lpstrFile成员指向的缓冲区对由用户指定的文件名来说太小。前两种IpstrFile缓冲区的字节含有一个指定大小的整型值。用来存放全文件名。
FNERR_INVAIDFILENAME:文件名无效。
FNERR_SUBASSFAILIIRE:由于没有足够内存,在对列表框分类时出错。
下面是FindText和ReplaceText函数的返回值。
FRERR_BUFFERLENGTHZERO:结构FINDREPLACE中的一个成员指向一个无效的缓冲区。
在Windows CE中Windows CE支持另外的四种返回值,如下:
CDERR_REGISTRYFAILURE 公共对话框函数无法读注册表。
下面的一些返回值只适用于PrintDlg函数。
PDERR_NOPORTS:没有注册的端口PDERR_NOPRINTERS:没有注册的打印机
PDERR_CREATEDCFAILURE:CreateDC调用失败
Windows CE不支持CDERR_LOADSTRFAILURE、CDERR_MEMLOCKFAILURE或CDERR_REGISTERMSGFAIL返回值。Windows CE也不支持任何PDERR_错误值。
速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本:头文件:commdlg.h;库文件:comdlg32.lib。