Win32 API. Справочник по стандартному диалоговому окну
Страница 4. Функция CommDlgExtendedError


Функция CommDlgExtendedError

(ОшибкиСтандартногоРасширенногоДиалоговогоОкна)

Функция CommDlgExtendedError возвращает код ошибки стандартного диалогового окна. Этот код указывает самую последнюю ошибку, которая произошла в течение выполнения в одной из следующих стандартных функций диалогового окна:

ChooseColorGetOpenFileName
ChooseFontGetSaveFileName
FindTextPrintDlg
ReplaceTextPageSetupDlg

Синтаксис

DWORD CommDlgExtendedError(VOID)

Параметры
У этой функции нет параметров.

Возвращаемые значения
Если самый последний вызов функции стандартного диалогового окна завершился успешно, возвращаемое значение неопределенное.
Если функция стандартного диалогового окна возвратила значение ЛОЖЬ (FALSE), потому что пользователь закрыл или отменил работу диалогового окна, возвращаемое значение нулевое. Иначе, возвращаемое значение - код ошибки отличный от нуля. Для получения дополнительной информации, см. следующий раздел Замечания.

Замечания
Функция CommDlgExtendedError может возвращать общие коды ошибок для любой из функций стандартного диалогового окна. Кроме того, имеются коды ошибок, которые возвращаются только для специфического стандартного диалогового окна. Коды ошибки, возвращенные CommDlgExtendedError, определены в файле CDERR.H.
Следующие общие коды ошибок могут быть возвращены для любой из стандартных функций диалогового окна:

  • CDERR_DIALOGFAILURE - Диалоговое окно не возможно создать. Вызов функций стандартного диалогового окна в функции DialogBox потерпел неудачу. Например, эта ошибка происходит, если стандартное диалоговое окно вызывает определение недопустимого дескриптора окна.
  • CDERR_FINDRESFAILURE - Функция стандартного диалогового окна не сумела найти определяемый ресурс.
  • CDERR_INITIALIZATION - Функция стандартного диалогового окна потерпела неудачу в ходе инициализации. Эта ошибка часто происходит тогда, когда не доступен необходимый объем памяти.
  • CDERR_LOADRESFAILURE - Функция стандартного диалогового окна потерпела неудачу при загрузке заданного ресурса.
  • CDERR_LOADSTRFAILURE - Функция стандартного диалогового окна потерпела неудачу при загрузке заданной строки.
  • CDERR_LOCKRESFAILURE - Функция стандартного диалогового окна потерпела неудачу при включении заданного ресурса.
  • CDERR_MEMALLOCFAILURE - Функция стандартного диалогового окна не смогла распределить память для внутренних структур.
  • CDERR_MEMLOCKFAILURE - Функция стандартного диалогового окна не смогла закрепить память, связанную с дескриптором.
  • CDERR_NOHINSTANCE - Флажок ENABLETEMPLATE был установлен в элементе Flags структуры инициализации для соответствующего стандартного диалогового окна, но вы не сумели предоставить соответствующий дескриптор экземпляра.
  • CDERR_NOHOOK - Флажок ENABLEHOOK был установлен в элементе Flags структуры инициализации для соответствующего стандартного диалогового окна, но вы не сумели предоставить указатель на соответствующую фильтр - процедуру.
  • CDERR_NOTEMPLATE - Флажок ENABLETEMPLATE был установлен в элементе Flags структуры инициализации для соответствующего стандартного диалогового окна, но вы не сумели предоставить соответствующий шаблон.
  • CDERR_REGISTERMSGFAIL - Функция RegisterWindowMessage возвратила код ошибки, когда она была вызвана функцией стандартного диалогового окна.
  • CDERR_STRUCTSIZE - Элемент lStructSize структуры инициализации для соответствующего стандартного диалогового окна недопустим.

Ниже перечисленные коды ошибок могут быть возвращены для функции PrintDlg:

  • PDERR_CREATEICFAILURE - Функция PrintDlg потерпела неудачу, когда попыталась создать информационный контекст.
  • PDERR_DEFAULTDIFFERENT - Вы вызвали функцию PrintDlg с флажком DN_DEFAULTPRN, определенным в элементе wDefault структуры DEVNAMES, но принтер, описанный другими элементами структуры, не соответствует текущему заданному по умолчанию принтеру. (Эта ошибка происходит тогда, когда вы сохраняете структуру DEVNAMES, а пользователь заменяет заданный по умолчанию принтер, используя Панель управления (Windows)). Чтобы использовать принтер, описанный структурой DEVNAMES, сбросьте бит флажка DN_DEFAULTPRN и вызовите PrintDlg снова. Чтобы использовать заданный по умолчанию принтер, замените структуру DEVNAMES (и структуру DEVMODE, если она существует) значением ПУСТО (NULL) и вызовите PrintDlg снова.
  • PDERR_DNDMMISMATCH - Данные в структурах DEVMODE и DEVNAMES описывают два различных принтера.
  • PDERR_GETDEVMODEFAIL - Драйвер принтера при инициализации структуры DEVMODE потерпел неудачу. (Этот код ошибки применяется только тогда, когда драйверы принтера описаны в Windows версии 3.0 и выше).
  • PDERR_INITFAILURE - Функция PrintDlg потерпела неудачу в ходе инициализации, и больше нет специфического расширенного кода ошибки, который описывает сбой. Это событие генерирует код ошибки для функции заданный по умолчанию.
  • PDERR_LOADDRVFAILURE - Функция PrintDlg не сумела загрузить драйвер устройства для заданного принтера.
  • PDERR_NODEFAULTPRN - Принтера по умолчанию не существует.
  • PDERR_NODEVICES - Драйверы принтера не были найдены.
  • PDERR_PARSEFAILURE - Функция PrintDlg не сумела разобрать строчки в разделе [devices] файла WIN.INI.
  • PDERR_PRINTERNOTFOUND - Раздел [devices] файла WIN.INI не содержит записи для требуемого принтера.
  • PDERR_RETDEFFAILURE - Флажок PD_RETURNDEFAULT был определен в элементе Flags структуры PRINTDLG, однако элемент hDevMode, или hDevNames не был установлен в значение ПУСТО (NULL).
  • PDERR_SETUPFAILURE - Функция PrintDlg не сумела загрузить требуемые ресурсы.

Ниже перечислены коды ошибок, которые могут быть возвращены функцией ChooseFont:

  • CFERR_MAXLESSTHANMIN - Размер, заданный в элементе nSizeMax структуры CHOOSEFONT меньше, чем размер установленный в элементе nSizeMin.
  • CFERR_NOFONTS - Шрифты не существуют.

Ниже перечислены коды ошибок, которые могут быть возвращены функциями GetOpenFileName и GetSaveFileName:

  • FNERR_BUFFERTOOSMALL - Буфер, указанный элементом lpstrFile структуры OPENFILENAME слишком маленький для имени файла, заданного пользователем. Первые два байта буфера lpstrFile содержат целочисленное значение, определяющее размер, в байтах (версия ANSI) или символах (версия Уникода), необходимое, чтобы принять полностью имя файла.
  • FNERR_INVALIDFILENAME - Недопустимое имя файла.
  • FNERR_SUBCLASSFAILURE - Попытка поделить на подклассы окно списка потерпела неудачу, потому что было не доступно необходимое количество памяти.

Ниже перечислены коды ошибок, которые могут быть возвращены функциями FindText и ReplaceText:

  • FRERR_BUFFERLENGTHZERO - Элемент структуры FINDREPLACE указывает на недопустимый буфер.

Смотри также
ChooseColor, CHOOSECOLOR, ChooseFont, CHOOSEFONT, DEVMODE, DEVNAMES, DialogBox, FINDREPLACE, FindText, GetOpenFileName, GetSaveFileName, OPENFILENAME, PageSetupDlg, PAGESETUPDLG, PrintDlg, PRINTDLG, RegisterWindowMessage, ReplaceText.

Размещение и совместимость CommDlgExtendedError

Windows NTДа 
Win95Да
Win32sДа
Импортируемая библиотекаcomdlg32.lib
Заголовочный файлcommdlg.h
УникодНет
Замечания по платформеНе имеется

 
« Предыдущая статья   Следующая статья »