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.
|
|
#ifndef __COMMALOG_HPP__
#define __COMMALOG_HPP__
/*---------------------------------------------------------------------------
File: CommaLog.hpp
Comments: TError based log file with optional security.
(c) Copyright 1999, Mission Critical Software, Inc., All Rights Reserved Proprietary and confidential to Mission Critical Software, Inc.
REVISION LOG ENTRY Revision By: Christy Boles Revised on 02/15/99 10:49:50
--------------------------------------------------------------------------- */
#include <stdio.h>
#include <tchar.h>
class CommaDelimitedLog { protected: FILE * fptr; public: CommaDelimitedLog() { fptr = NULL; } BOOL IsOpen() const { return ( fptr != NULL ); } BOOL LogOpen(TCHAR const * filename, BOOL protect, int mode = 0); // mode 0=overwrite, 1=append
virtual void LogClose() { if ( fptr ) fclose(fptr); } BOOL MsgWrite( TCHAR const msg[] ,// in -error message to display
... // in -printf args to msg pattern
) const { TCHAR suffix[350]; int lenSuffix = sizeof(suffix)/sizeof(TCHAR); va_list argPtr;
va_start(argPtr, msg); _vsntprintf(suffix, lenSuffix - 1, msg, argPtr); suffix[lenSuffix - 1] = '\0'; va_end(argPtr); return LogWrite(suffix); }
protected: BOOL LogWrite(TCHAR const * msg) const { int res = -1;
if ( fptr ) { #ifdef UNICODE
res = fwprintf( fptr, L"%s\r\n", msg ); #else
res = fprintf( fptr, "%s\n", msg );
#endif
fflush( fptr ); } return ( res >= 0 ); } };
PSID GetWellKnownSid(DWORD wellKnownAccount);
#endif //__COMMALOG_HPP__
|