Leaked source code of windows server 2003
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.
 
 
 
 
 
 

109 lines
2.4 KiB

/********************************************************************/
/** Copyright(c) 1989 Microsoft Corporation. **/
/********************************************************************/
//***
//
// Filename: errorlog.c
//
// Description:
//
// History:
// May 11,1992. NarenG Created original version.
// Feb 2,1993 SueA Added routine to handle server's event
// logging (from FSCTL by service)
//
#include "afpsvcp.h"
//**
//
// Call: AfpLogEvent
//
// Returns: none
//
// Description:
//
VOID
AfpLogEvent(
IN DWORD dwMessageId,
IN WORD cNumberOfSubStrings,
IN LPWSTR * plpwsSubStrings,
IN DWORD dwErrorCode,
IN WORD wSeverity
)
{
HANDLE hLog;
PSID pSidUser = NULL;
hLog = RegisterEventSource( NULL, AFP_SERVICE_NAME );
AFP_ASSERT( hLog != NULL );
// Log the error code specified
//
ReportEvent( hLog,
wSeverity,
0, // event category
dwMessageId,
pSidUser,
cNumberOfSubStrings,
sizeof(DWORD),
plpwsSubStrings,
(PVOID)&dwErrorCode
);
DeregisterEventSource( hLog );
AFP_PRINT( ("AFPSVC_Errorlog: dwMessageId = %d\n", dwMessageId ));
return;
}
//**
//
// Call: AfpLogServerEvent
//
// Returns: none
//
// Description: Gets an error or audit log packet from the Afp Server FSD
// and does the event logging on its behalf. (See AfpServerHelper thread
// routine in srvrhlpr.c)
//
VOID
AfpLogServerEvent(
IN PAFP_FSD_CMD_PKT pAfpFsdCmd
)
{
PAFP_EVENTLOG_DESC pEventData;
HANDLE hLog;
PSID pSidUser = NULL;
int i;
hLog = RegisterEventSource( NULL, AFP_SERVICE_NAME );
AFP_ASSERT( hLog != NULL );
pEventData = &pAfpFsdCmd->Data.Eventlog;
OFFSET_TO_POINTER(pEventData->ppStrings, pAfpFsdCmd);
for (i = 0; i < pEventData->StringCount; i++)
{
OFFSET_TO_POINTER(pEventData->ppStrings[i], pAfpFsdCmd);
}
OFFSET_TO_POINTER(pEventData->pDumpData, pAfpFsdCmd);
ReportEvent( hLog,
pEventData->EventType,
0, // event category
pEventData->MsgID,
pSidUser,
pEventData->StringCount,
pEventData->DumpDataLen,
pEventData->ppStrings,
pEventData->pDumpData
);
DeregisterEventSource( hLog );
}