Функция CommDlgExtendedError (commdlg.h)
Возвращает код общей ошибки диалогового окна. Этот код указывает на последнюю ошибку, возникшую во время выполнения одной из распространенных функций диалогового окна.
Синтаксис
DWORD CommDlgExtendedError();
Возвращаемое значение
Тип: DWORD
Если последний вызов общей функции диалогового окна выполнен успешно, возвращаемое значение не определено. Если общая функция диалогового окна возвращала значение FALSE , так как пользователь закрыл или отменил диалоговое окно, возвращаемое значение равно нулю. В противном случае возвращаемое значение представляет собой ненулевой код ошибки.
Функция CommDlgExtendedError может возвращать общие коды ошибок для любой из распространенных функций диалогового окна. Кроме того, существуют коды ошибок, которые возвращаются только для определенного общего диалогового окна. Все эти коды ошибок определены в Файле Cderr.h. Для любой из распространенных функций диалогового окна можно вернуть следующие общие коды ошибок.
Возвращаемый код/значение | Описание |
---|---|
|
Не удалось создать диалоговое окно. Не удалось вызвать функцию DialogBox в обычном диалоговом окне. Например, эта ошибка возникает, если общий вызов диалогового окна указывает недопустимый дескриптор окна. |
|
Общей функции диалогового окна не удалось найти указанный ресурс. |
|
Общая функция диалогового окна завершилась сбоем во время инициализации. Эта ошибка часто возникает, когда недостаточно памяти. |
|
Обычной функции диалогового окна не удалось загрузить указанный ресурс. |
|
Общей функции диалогового окна не удалось загрузить указанную строку. |
|
Обычной функции диалогового окна не удалось заблокировать указанный ресурс. |
|
Общей функции диалогового окна не удалось выделить память для внутренних структур. |
|
Общей функции диалогового окна не удалось заблокировать память, связанную с дескриптором. |
|
Флаг ENABLETEMPLATE был установлен в элементе Flags структуры инициализации для соответствующего общего диалогового окна, но не удалось предоставить соответствующий дескриптор экземпляра. |
|
Флаг ENABLEHOOK был установлен в элементе Flags структуры инициализации для соответствующего общего диалогового окна, но не удалось указать указатель на соответствующую процедуру перехватчика. |
|
Флаг ENABLETEMPLATE был установлен в элементе Flags структуры инициализации для соответствующего общего диалогового окна, но не удалось предоставить соответствующий шаблон. |
|
Функция RegisterWindowMessage вернула код ошибки при ее вызове общей функцией диалогового окна. |
|
Недопустимый элемент lStructSize структуры инициализации для соответствующего общего диалогового окна. |
Для функции PrintDlg можно вернуть следующие коды ошибок.
Возвращаемый код/значение | Описание |
---|---|
|
Сбой функции PrintDlg при попытке создать контекст информации. |
|
Вы вызвали функцию PrintDlg с флагом DN_DEFAULTPRN , указанным в элементе wDefault структуры DEVNAMES , но принтер, описанный другими элементами структуры, не соответствовал текущему принтеру по умолчанию. Эта ошибка возникает, когда вы сохраняете структуру DEVNAMES и пользователь изменяет принтер по умолчанию с помощью панель управления.
Чтобы использовать принтер, описанный в структуре DEVNAMES , снимите флаг DN_DEFAULTPRN и вызовите PrintDlg еще раз. Чтобы использовать принтер по умолчанию, замените структуру DEVNAMES (и структуру, если она существует) на NULL; и снова вызовите PrintDlg . |
|
Данные в структурах DEVMODE и DEVNAMES описывают два разных принтера. |
|
Драйверу принтера не удалось инициализировать структуру DEVMODE . |
|
Функция PrintDlg завершилась сбоем во время инициализации, и более конкретный расширенный код ошибки для описания сбоя отсутствует. Это универсальный код ошибки по умолчанию для функции. |
|
Функции PrintDlg не удалось загрузить драйвер устройства для указанного принтера. |
|
Принтер по умолчанию не существует. |
|
Драйверы принтера не найдены. |
|
Функции PrintDlg не удалось проанализировать строки в разделе [devices] файла WIN.INI. |
|
Раздел [devices] файла WIN.INI не содержал запись для запрошенного принтера. |
|
Флаг PD_RETURNDEFAULT был указан в элементе Flags структуры PRINTDLG , но элемент hDevMode или hDevNames не имеет значения NULL. |
|
Функции PrintDlg не удалось загрузить необходимые ресурсы. |
Для функции ChooseFont можно вернуть следующие коды ошибок.
Возвращаемый код или значение | Описание |
---|---|
|
Размер, указанный в элементе nSizeMax структуры CHOOSEFONT , меньше размера, указанного в элементе nSizeMin . |
|
Шрифты не существуют. |
Для функций GetOpenFileName и GetSaveFileName можно вернуть следующие коды ошибок.
Возвращаемый код или значение | Описание |
---|---|
|
Буфер, на который указывает элемент lpstrFile структуры OPENFILENAME , слишком мал для имени файла, указанного пользователем. Первые два байта буфера lpstrFile содержат целочисленное значение, указывающее размер, необходимый для получения полного имени в символах. |
|
Недопустимое имя файла. |
|
Попытка подкласса списка завершилась сбоем, так как недостаточно памяти не было доступно. |
Для функций FindText и ReplaceText можно вернуть следующий код ошибки.
Возвращаемый код или значение | Описание |
---|---|
|
Элемент структуры FINDREPLACE указывает на недопустимый буфер. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | commdlg.h (включая Windows.h) |
Библиотека | Comdlg32.lib |
DLL | Comdlg32.dll |
Набор API | ext-ms-win-shell-comdlg32-l1-1-0 (представлено в Windows 10 версии 10.0.10240) |
См. также раздел
Общая библиотека диалоговых окон
Основные понятия
Справочные материалы