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
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 );
|
|
}
|