2010-03-19 3 views
1

:: ReadEventLog() API를 사용하여 이벤트 로그 레코드를 읽고 표시하는 MFC 응용 프로그램이 있습니다. 문제는 이벤트 로그 레코드의 "설명"메시지 문자열을 읽는 것입니다. MFC 응용 프로그램 전체 "설명"메시지 문자열을 읽을 수 없으며 일부만 표시합니다. 그러나 Windows 시스템 이벤트 로그 뷰어는 전체 "설명"메시지 문자열을 올바르게 읽고 표시합니다.이벤트 로그 레코드의 전체 설명 문자열을 검색 할 수 없습니다.

내 MFC 응용 프로그램에서 EVENTLOGRECORD 구조체의 "NumStrings"및 "StringOffset"멤버 변수가 제공하는 모든 문자열을 검색하고 모두 병합하여 전체 "설명"메시지 문자열을 읽도록했습니다. 또한 MSDN에서 언급했듯이 내 응용 프로그램은 추가 메시지 문자열 정보를 더 포함하고있는 소스 이름 특정 메시지 라이브러리 파일 (해당 경로가 HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ EventLog \ Application [레지스트리 이름]에 레지스트리에 지정되어 있음)을로드하고 이전 읽기 문자열

여전히 전체 "설명"메시지 문자열을 가져올 수 없습니다.

문제를 해결하기위한 도움을주십시오.

감사합니다,

Santosh.

답변

1

이벤트의 모든 설명 메시지에 대해 일관성이 있습니까? 아니면 이전에 자신의 응용 프로그램에서 만든 특정 이벤트 항목 만 모니터링하고 있습니까?

아마도 원래 문자열이 올바르게 검색 되었더라도 MFC 코드가 표시 될 때 문자열을 조기에 종료하게하는 설명에 NUL 문자가 포함되어 있습니까?

관련 문제