ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND с Windows EWT

Я пытаюсь распечатать очень простой журнал в средстве просмотра Windows. Когда я звоню EventWrite() в моем файле .cpp я получаю код ошибки 15003 ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND в окне просмотра событий мое сообщение не отображается. Я думаю, проблема в том, что .rc файл, сгенерированный при компиляции моего манифеста, не компилируется вместе с проектом, даже если я перетащил его в папку ресурсов в обозревателе решений.

Когда я зарегистрировал свой манифест в wevtutil.exe Я получаю следующее предупреждение: Publisher ExampleProvider resources are not accessibleКогда я спрашиваю подробности об этой ошибке, я получаю этот вывод: Failed to open metadata for publisher ExampleProvider. Access is denied,

Я уже посмотрел на Доступ запрещен во время регистрации провайдера (wevtutil) и это не решило проблему.

0

Решение

Вы можете легко проверить, является ли ваш .rc файл правильно скомпилирован в ваш проект, открыв ваш скомпилированный .dll или же .exe файл в Visual Studio. Идти к File->Open->File и откройте свой исполняемый файл или библиотеку. Теперь проверьте, можете ли вы увидеть скомпилированный файл ресурсов ETW. В моем проекте он находится в папке «WEVT_TEMPLATE». Если вы не видите его в своем двоичном файле, то, скорее всего, вы не скомпилировали его в свой двоичный файл. Для этого добавьте свой .rc в ваш проект (Выберите добавить ресурс).

Примечание: Пожалуйста, также убедитесь, что ResourceFileName и messageFileName в вашем файле манифеста правильно указывают на вашу lib или исполняемый файл.

После запуска команды регистрации в командной строке.

wevtutil im yourProvider.man

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

wevtutil gp yourProvider

Надеюсь, это поможет.

1

Другие решения

Я понял, что это была проблема с разрешением, как в Доступ запрещен во время регистрации провайдера (wevtutil). Я исправил это, поместив свой проект в корень моего диска C.

0

По вопросам рекламы [email protected]