Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*************************************************************************
* Microsoft Windows NT * * * * Copyright(c) Microsoft Corp., 1994 * * * * Revision History: * * * * Jan. 29,94 Koti Created * * * * Description: * * * * This file contains the functions that invoke all the EventLogging * * related functions. * * * *************************************************************************/
#include "lpd.h"
/*****************************************************************************
* * * InitLogging(): * * This function prepares for future logging by registersing. * * * * Returns: * * TRUE if it succeeded * * FALSE if it didn't * * * * Parameters: * * None * * * * History: * * Jan.29, 94 Koti Created * * * *****************************************************************************/
BOOL InitLogging( VOID ) {
hLogHandleGLB = RegisterEventSource( NULL, LPD_SERVICE_NAME );
if ( hLogHandleGLB == (HANDLE)NULL ) { LPD_DEBUG( "InitLogging(): RegisterEventSource failed\n" );
return( FALSE ); }
return( TRUE );
} // end InitLogging()
/*****************************************************************************
* * * LpdReportEvent(): * * This is the function where logging of events actually takes place. * * * * Returns: * * Nothing * * * * Parameters: * * idMessage (IN): ID of the message to be put in the log file * * wNumStrings (IN): number of strings in the "variable parts" of message * * aszStrings (IN): the "variable parts" of the message * * dwErrcode (IN): error code for the (failed) event * * * * History: * * Jan.29, 94 Koti Created * * * *****************************************************************************/
VOID LpdReportEvent( DWORD idMessage, WORD wNumStrings, CHAR *aszStrings[], DWORD dwErrcode ) {
WORD wType; DWORD cbRawData=0; PVOID pRawData=NULL;
if ( hLogHandleGLB == NULL ) { DEBUG_PRINT (("LpdReportEvent(): Log handle is NULL! EventId <0x%x> not logged\n", idMessage)); return; }
if ( NT_INFORMATION( idMessage) ) { wType = EVENTLOG_INFORMATION_TYPE; } else if ( NT_WARNING( idMessage) ) { wType = EVENTLOG_WARNING_TYPE; } else if ( NT_ERROR( idMessage) ) { wType = EVENTLOG_ERROR_TYPE; } else { LPD_DEBUG( "LpdReportEvent(): Unknown type of error message\n" );
wType = EVENTLOG_ERROR_TYPE; }
if ( dwErrcode != 0 ) { pRawData = &dwErrcode;
cbRawData = sizeof( dwErrcode ); }
ReportEvent( hLogHandleGLB, wType, 0, idMessage, NULL, wNumStrings, cbRawData, (LPCTSTR *)aszStrings, pRawData ); return;
} // end LpdReportEvent()
/*****************************************************************************
* * * EndLogging(): * * This function ends logging by deregistering the handle. * * * * Returns: * * Nothing. * * * * Parameters: * * None * * * * History: * * Jan.29, 94 Koti Created * * * *****************************************************************************/
VOID EndLogging( VOID ) {
if ( hLogHandleGLB == NULL ) { LPD_DEBUG( "EndLogging(): Log handle is NULL!\n" );
return; }
DeregisterEventSource( hLogHandleGLB );
return;
} // end EndLogging()
|