Что означает код ошибки Windows 1415 (ERROR_PRIVATE_DIALOG_INDEX)?

 
Предыдущий Следующий
ERROR_INVALID_ICON_HANDLE ERROR_LISTBOX_ID_NOT_FOUND

ERROR_PRIVATE_DIALOG_INDEX

Индекс относится к закрытому хранилищу диалога

Диалоговые окна используют зарезервированные дополнительные байты и предопределённые смещения DWLP_* для состояния диспетчера диалогов, например процедуры диалога и результата сообщения. Эти смещения не являются обычным хранилищем окна, определённым приложением.

Проблема часто возникает в универсальном коде подкласса или среды, который считает каждый HWND будто его дополнительные байты зарегистрированы приложением. Запись по предполагаемому смещению может конфликтовать с учётом диалога, даже если тот же вспомогательный код работает для пользовательского класса.

Что следует проверить

  • Определите, является ли целевое окно диалогом или производным от диалога.
  • Используйте DWLP_MSGRESULT, DWLP_DLGPROCи документированные API диалогов используйте только по назначению.
  • Храните состояние приложения в документированном поле указателя, свойстве, механизме подкласса или намеренно зарезервированных дополнительных байтах класса.
  • Проверьте 32- и 64-разрядный код на использование API данных окна ширины указателя.

Это более узкая ошибка, чем ERROR_INVALID_INDEX: индекс может распознаваться, но относится к закрытому хранилищу диалога, которое вызывающая сторона не должна считать универсальными данными.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.