C++ 写Windows日志文件

环境 VC6.0

代码
#include "windows.h"
#define SVC_ERROR    ((DWORD)0xC0020001L)

void WriteReportEvent(LPTSTR szName,LPTSTR szFunction) 

    HANDLE hEventSource;
    LPCTSTR lpszStrings[2];
    unsigned int len = sizeof(szFunction);
    
char *Buffer = new char[len];
    
    hEventSource = RegisterEventSource(NULL, szName);
    
    
if( NULL != hEventSource )
    {
        
//StringCchPrintf(Buffer, 80, TEXT("%s failed with %d"), szFunction, GetLastError());
        strcpy(Buffer,szFunction);
        lpszStrings[0= szName;
        lpszStrings[1= Buffer;
        
//详细请参考MSDN
        ReportEvent(hEventSource,        // event log handle
            EVENTLOG_ERROR_TYPE, // event type
            0,                   // event category
            SVC_ERROR,           // event identifier
            NULL,                // no security identifier
            2,                   // size of lpszStrings array
            0,                   // no binary data
            lpszStrings,         // array of strings
            NULL);               // no binary data    
        DeregisterEventSource(hEventSource);
    }
}

 

 

posted @ 2010-10-20 10:06  zhouli  阅读(1356)  评论(0编辑  收藏  举报