Я искал в интернете формальное определение этого фрагмента журналов событий Windows. Как определяется категория? Есть ли набор стандартных значений для этого поля? Может ли приложение создать свою собственную категорию задач?
2 ответа
Изучение классов .NET EventLog и EventLogEntry должно дать вам подсказку, особенно свойство Category последнего:
Каждое приложение (источник событий) может определять свои собственные пронумерованные категории и текстовые строки, в которые они отображаются. Просмотр событий может использовать категорию для фильтрации событий в журнале.
Кроме того, как указано на странице « Категории событий» :
Категории помогают вам организовывать события, чтобы программа просмотра событий могла их фильтровать. Каждый источник событий может определять свои собственные пронумерованные категории и текстовые строки, в которые они отображаются.
На странице показано, как ваше приложение (которое будет источником событий) может определять свои собственные категории событий. Вы можете получить некоторые полезные советы о том, как заставить этот пример работать на Win7 и Server 2008 R2 здесь. Эта статья доктора Добба о настройке категорий журнала событий также может быть полезна. Я уверен, что есть еще много учебных пособий, и если вам нужна помощь с кодом, то вам стоит обратиться к Stack Overflow.
Примечание: AFAIK нет набора стандартных значений для этого поля, так как приложение может использовать свои собственные пользовательские строки. Конечно, если вы хотите использовать те, которые использует сама Windows, я уверен, что они должны быть определены где-нибудь в файле ресурсов / заголовков / сообщений.
Приложения могут создавать свои собственные категории задач. Он работает так же, как приложения создают свои собственные тексты сообщений о событиях: вы помещаете их в файл .mc, используете компилятор сообщений, чтобы скомпилировать его в файл .rc, используете компилятор ресурсов, чтобы скомпилировать его в файл .res, и используйте link.exe для компиляции в DLL.
Если вы никогда не делали этого раньше, на http://www.eventlogblog.com/mt/mt-search.cgi?search=python&IncludeBlogs=1 есть первоклассное учебное пособие. по-прежнему работает для текущих версий Platform SDK и Visual Studio Express, хотя вам необходимо настроить дополнительные папки в переменной PATH для исполняемых файлов и библиотек DLL.
Тексты категорий могут быть в их собственной DLL, но вы также можете поместить их в ту же DLL, что и сообщения. Если вы это сделаете, категории должны быть в начале файла .mc и пронумерованы от 1 без пробелов. В записи реестра для вашей DLL вы указываете Windows, сколько сообщений являются категориями, скажем, 5, а затем первые 5 сообщений рассматриваются как категории.