EventLogMsgs.mc - a Construção de um arquivo de recurso (DLL)
-
20-12-2019 - |
Pergunta
Atualmente eu tenho um arquivo de recurso que eu uso para o meu personalizado criado o log de eventos.Tudo parece funcionar perfeitamente quando eu gravar um evento no log com intenções de informativos/sucesso fins.Mas quando eu escrevo um a um Erro intenção de eu chegar...
A descrição para Event ID 301 de origem de X não pode ser encontrado...
Eu estava me perguntando...O que isso tem a ver com o fato de que todos os meus categorias de Gravidade=Sucesso?Preciso também de uma categoria para o Serviço, que tem Gravidade=Erro?
Exemplo de sucesso na entrada de log:
IDENTIFICAÇÃO de evento:101, Nível:Informações, Categoria De Tarefa:(8) Serviço de
Exemplo de NÃO sucesso registo de entrada:
IDENTIFICAÇÃO de evento:301, Nível:Erro, Categoria De Tarefa:(8) Serviço de
O seguinte é o meu atual mensagem de texto do arquivo que eu converter em um arquivo de recurso para as categorias, e mensagens de...
; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; // mc -s EventLogMsgs.mc
; // rc EventLogMsgs.rc
; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************
MessageId=0x1
Severity=Success
SymbolicName=GENERAL_CATEGORY
Language=English
General
.
MessageId=0x2
Severity=Success
SymbolicName=DATABASE_CATEGORY
Language=English
Database Query
.
MessageId=0x3
Severity=Success
SymbolicName=LOGON_CATEGORY
Language=English
Logon
.
MessageId=0x4
Severity=Success
SymbolicName=LOGOFF_CATEGORY
Language=English
Logoff
.
MessageId=0x5
Severity=Success
SymbolicName=EMAIL_CATEGORY
Language=English
Email
.
MessageId=0x6
Severity=Success
SymbolicName=PRINTER_CATEGORY
Language=English
Printer
.
MessageId=0x7
Severity=Success
SymbolicName=IO_CATEGORY
Language=English
IO
.
MessageId=0x8
Severity=Success
SymbolicName=SERVICE_CATEGORY
Language=English
Service
.
MessageId=0x9
Severity=Success
SymbolicName=DEBUG_CATEGORY
Language=English
Debug
.
; // - Event messages -
; // *********************************
MessageId = 100
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID100
Language=English
%1
.
MessageId = 101
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID101
Language=English
%1
.
MessageId = 102
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID102
Language=English
%1
.
MessageId = 103
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID103
Language=English
%1
.
MessageId = 104
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID104
Language=English
%1
.
MessageId = 105
Severity = Success
Facility = Application
SymbolicName = SMESSAGE_ID105
Language=English
%1
.
MessageId = 200
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID200
Language=English
%1
.
MessageId = 201
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID201
Language=English
%1
.
MessageId = 202
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID202
Language=English
%1
.
MessageId = 203
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID203
Language=English
%1
.
MessageId = 204
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID204
Language=English
%1
.
MessageId = 205
Severity = Warning
Facility = Application
SymbolicName = WMESSAGE_ID205
Language=English
%1
.
MessageId = 300
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID300
Language=English
%1
.
MessageId = 301
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID301
Language=English
%1
.
MessageId = 302
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID302
Language=English
%1
.
MessageId = 303
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID303
Language=English
%1
.
MessageId = 304
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID304
Language=English
%1
.
MessageId = 305
Severity = Error
Facility = Application
SymbolicName = EMESSAGE_ID305
Language=English
%1
.
Solução
Problema Real: Eu estava criando o arquivo errado e os números de evento eu pensei que eu era a criação de nós de facto um número diferente.Eu descobri o que estava acontecendo depois de cavar a myfile.c arquivo produzido quando executar o mc.exe e rc.exe comandos.Quando olhando o arquivo, percebi que os valores DWORD (HEX) não adicionar-se para o número inteiro que eu esperava.
Meu Problema: A linha de fundo era o meu problema era simplesmente porque eu usei "Gravidade = Aviso" na #200 em vez de "Gravidade = Sucesso".Quando eu mudei que eu finalmente tenho os números de evento, eu estava olhando para o que está sendo criado.Havia alguns outros melhoramentos que eu fiz para o meu arquivo (como visto abaixo), mas essa foi a principal razão que eu tinha o meu problema.
Corrigida Mensagem De Registo De Eventos De Arquivo: Abaixo, você vai encontrar o meu correta de registo de eventos de arquivo de mensagem.Também decidi dividi-lo em dois arquivos de manter as Categorias e Eventos separado.(Não é necessário)
categorias.mc
; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; // mc -s EventLogMsgs.mc
; // rc EventLogMsgs.rc
; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************
MessageIdTypedef = WORD
LanguageNames = (English=0x409:MSG00409)
MessageId = 0x1
SymbolicName=GENERAL_CATEGORY
Language=English
General
.
MessageId = 0x2
SymbolicName=DATABASE_CATEGORY
Language=English
Database
.
MessageId = 0x3
SymbolicName=LOGON_CATEGORY
Language=English
Logon
.
MessageId = 0x4
SymbolicName=LOGOFF_CATEGORY
Language=English
Logoff
.
MessageId = 0x5
SymbolicName=EMAIL_CATEGORY
Language=English
Email
.
MessageId = 0x6
SymbolicName=PRINTER_CATEGORY
Language=English
Printer
.
MessageId = 0x7
SymbolicName=IO_CATEGORY
Language=English
IO
.
MessageId = 0x8
SymbolicName=SERVICE_CATEGORY
Language=English
Service
.
MessageId = 0x9
SymbolicName=DEBUG_CATEGORY
Language=English
Debug
.
eventos.mc
; // EventLogMsgs.mc
; // ********************************************************
; // Use the following commands to build this file:
; // mc -s EventLogMsgs.mc
; // rc EventLogMsgs.rc
; // link /DLL /SUBSYSTEM:WINDOWS /NOENTRY /MACHINE:x86 EventLogMsgs.Res
; // ********************************************************
; // - Event categories -
; // Categories must be numbered consecutively starting at 1.
; // ********************************************************
; // - Event messages -
; // *********************************
MessageIdTypedef = DWORD
LanguageNames = (English=0x409:MSG00409)
MessageId = 100
SymbolicName = SMESSAGE_ID100
Language=English
%1
.
MessageId = 101
SymbolicName = SMESSAGE_ID101
Language=English
%1
.
MessageId = 102
SymbolicName = SMESSAGE_ID102
Language=English
%1
.
MessageId = 103
SymbolicName = SMESSAGE_ID103
Language=English
%1
.
MessageId = 104
SymbolicName = SMESSAGE_ID104
Language=English
%1
.
MessageId = 105
SymbolicName = SMESSAGE_ID105
Language=English
%1
.
MessageId = 200
SymbolicName = WMESSAGE_ID200
Language=English
%1
.
MessageId = 201
SymbolicName = WMESSAGE_ID201
Language=English
%1
.
MessageId = 202
SymbolicName = WMESSAGE_ID202
Language=English
%1
.
MessageId = 203
SymbolicName = WMESSAGE_ID203
Language=English
%1
.
MessageId = 204
SymbolicName = WMESSAGE_ID204
Language=English
%1
.
MessageId = 205
SymbolicName = WMESSAGE_ID205
Language=English
%1
.
MessageId = 300
SymbolicName = EMESSAGE_ID300
Language=English
%1
.
MessageId = 301
SymbolicName = EMESSAGE_ID301
Language=English
%1
.
MessageId = 302
SymbolicName = EMESSAGE_ID302
Language=English
%1
.
MessageId = 303
SymbolicName = EMESSAGE_ID303
Language=English
%1
.
MessageId = 304
SymbolicName = EMESSAGE_ID304
Language=English
%1
.
MessageId = 305
SymbolicName = EMESSAGE_ID305
Language=English
%1
.