Невозможно получить полную строку описания записи журнала событий - PullRequest
1 голос
/ 19 марта 2010

У меня есть приложение MFC, которое читает и отображает записи журнала событий, используя API :: ReadEventLog (). Проблема заключается в чтении строки сообщения «Описание» записи журнала событий. Приложение MFC не может прочитать полную строку сообщения «Описание» и отображает только некоторую ее часть. Однако средство просмотра журнала системных событий Windows правильно считывает и отображает полную строку сообщения «Описание».

Я гарантировал, что мое приложение MFC считывает всю строку сообщения «Описание», извлекая все строки в соответствии с переменными-членами «NumStrings» и «StringOffset» структуры EVENTLOGRECORD и объединяя их все. Также, как упоминалось в MSDN, мое приложение загружает файл библиотеки сообщений для конкретного имени источника (путь которого указан в реестре по адресу HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Application [SourceName]), который дополнительно содержит дополнительную информацию о строке сообщения и объединяет ее ранее прочитанные строки.

Я все еще не могу получить всю строку сообщения «Описание».

Пожалуйста, предоставьте любую помощь в решении проблемы.

С уважением,

Сантош.

1 Ответ

1 голос
/ 07 января 2011

Это соответствует для всех описательных сообщений в событиях, или вы отслеживаете только определенные записи событий, которые вы ранее создали из своего собственного приложения?

Возможно, в описании есть встроенные NUL-символы, которые вызываютКод MFC для преждевременного завершения строки при ее отображении, даже если исходная строка была получена правильно?

...