Сбой FormatMessage с кодом ошибки 317 - PullRequest
0 голосов
/ 07 июня 2011

Когда я выполнил следующий фрагмент кода, он выходит из строя с код ошибки 317 .Как можно решить проблему?Мы используем набор символов Unicode для проекта

  char* pszMessgeBuffer = NULL;
  FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | 
        FORMAT_MESSAGE_FROM_SYSTEM | 
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        dwErrorId,
        0, // Default language
        (LPTSTR) &pszMessgeBuffer,
        0,
        NULL )

Ответы [ 2 ]

6 голосов
/ 07 июня 2011

Использование поиска кода ошибки инструмент из Visual Studio, 317 описывается как

Система не может найти текст сообщения для номера сообщения 0x% 1 в сообщении файл для% 2.

Это означает, что описание сообщения не существует в системе для предыдущего кода ошибки. Документация MSDN для FormatMessage с флагом FORMAT_MESSAGE_FROM_SYSTEM гласит:

Не все на основе Windows Embedded CE устройства будут содержать систему ресурсы таблицы сообщений. Это выбираемая часть Windows Встроенная операционная система CE и часто удаляется для экономии места.

0 голосов
/ 26 октября 2016

Я думаю, что ошибка 317 является результатом использования функции Win32 LsaNtStatusToWinError (87), где winstatus 87 означает «Неверный параметр»

...