/********************************Log**********************************/
#define LOGFILESIZE 10000000
#define LOGPATH L"\\Program Files\\protect.log"
#define ENDFLAG ("LastLine\r\n")
#define BYTES_NUM_ENDFLAG (sizeof(ENDFLAG) - 1)
#define STR_MAX_LEN 1024
char g_szLogTemp[50] = {0};
/********************************Log**********************************/
void PrintAutoSleepLog(LPCSTR szFormat)
{
BYTE bZero[BYTES_NUM_ENDFLAG] = {0};
try{
char szBuffer[STR_MAX_LEN] = {0};
UINT cbSize = sizeof(szBuffer);
SYSTEMTIME st;
GetLocalTime(&st);
int nLogChars;
if(strlen(g_szLogTemp)>0)
{
nLogChars=_snprintf(szBuffer, cbSize, "%d:%.2d:%.2d %s %s",
st.wHour, st.wMinute, st.wSecond, g_szLogTemp,szFormat);
g_szLogTemp[0] = '\0';
}
else
nLogChars = _snprintf(szBuffer, cbSize, "%d:%.2d:%.2d %s", st.wHour, st.wMinute, st.wSecond, szFormat);
if(nLogChars<0)
{
szBuffer[cbSize-2] = '\r';
szBuffer[cbSize-1] = '\n';
nLogChars = cbSize - 1;
}
DWORD dwPoint = 0;
DWORD dwBuffsize = 0;
DWORD dwFilesize = 0;
HANDLE hC4Log = CreateFile(LOGPATH, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL,
OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(hC4Log != INVALID_HANDLE_VALUE)
{
dwFilesize = GetFileSize(hC4Log, NULL);
if(dwFilesize != 0 && dwFilesize != 0xFFFFFFFF)
{
dwPoint = SetFilePointer(hC4Log, -4, 0, FILE_END);
if(0xFFFFFFFF != dwPoint)
{
ReadFile(hC4Log, &dwPoint, sizeof(DWORD), &dwBuffsize, 0);
dwPoint = SetFilePointer(hC4Log, dwPoint - BYTES_NUM_ENDFLAG, 0, FILE_BEGIN);
}
if(dwPoint > LOGFILESIZE)
dwPoint = SetFilePointer(hC4Log, 0, 0, FILE_BEGIN);
}
strcat(szBuffer, ENDFLAG);
long len = strlen(szBuffer);
DWORD ltemp = 0;
if(dwPoint + len > LOGFILESIZE)
{
WriteFile(hC4Log, bZero, BYTES_NUM_ENDFLAG, <emp, NULL);
dwPoint = SetFilePointer(hC4Log, 0, 0, FILE_BEGIN);
}
WriteFile(hC4Log, szBuffer, len, <emp, NULL);
dwPoint = SetFilePointer(hC4Log, 0, 0, FILE_CURRENT);
if((dwPoint + 4) >= dwFilesize)
SetFilePointer(hC4Log, dwPoint, 0, FILE_BEGIN);
else
SetFilePointer(hC4Log, -4, 0, FILE_END);
WriteFile(hC4Log, &dwPoint, sizeof(DWORD), <emp, NULL);
CloseHandle(hC4Log);
}
}
catch(...)
{
NKDbgPrintfW(TEXT("Exception!!!!!!!!!!!!!!!!!\r\n"));
}
}
#define LOGFILESIZE 10000000
#define LOGPATH L"\\Program Files\\protect.log"
#define ENDFLAG ("LastLine\r\n")
#define BYTES_NUM_ENDFLAG (sizeof(ENDFLAG) - 1)
#define STR_MAX_LEN 1024
char g_szLogTemp[50] = {0};
/********************************Log**********************************/
void PrintAutoSleepLog(LPCSTR szFormat)
{
BYTE bZero[BYTES_NUM_ENDFLAG] = {0};
try{
char szBuffer[STR_MAX_LEN] = {0};
UINT cbSize = sizeof(szBuffer);
SYSTEMTIME st;
GetLocalTime(&st);
int nLogChars;
if(strlen(g_szLogTemp)>0)
{
nLogChars=_snprintf(szBuffer, cbSize, "%d:%.2d:%.2d %s %s",
st.wHour, st.wMinute, st.wSecond, g_szLogTemp,szFormat);
g_szLogTemp[0] = '\0';
}
else
nLogChars = _snprintf(szBuffer, cbSize, "%d:%.2d:%.2d %s", st.wHour, st.wMinute, st.wSecond, szFormat);
if(nLogChars<0)
{
szBuffer[cbSize-2] = '\r';
szBuffer[cbSize-1] = '\n';
nLogChars = cbSize - 1;
}
DWORD dwPoint = 0;
DWORD dwBuffsize = 0;
DWORD dwFilesize = 0;
HANDLE hC4Log = CreateFile(LOGPATH, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL,
OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(hC4Log != INVALID_HANDLE_VALUE)
{
dwFilesize = GetFileSize(hC4Log, NULL);
if(dwFilesize != 0 && dwFilesize != 0xFFFFFFFF)
{
dwPoint = SetFilePointer(hC4Log, -4, 0, FILE_END);
if(0xFFFFFFFF != dwPoint)
{
ReadFile(hC4Log, &dwPoint, sizeof(DWORD), &dwBuffsize, 0);
dwPoint = SetFilePointer(hC4Log, dwPoint - BYTES_NUM_ENDFLAG, 0, FILE_BEGIN);
}
if(dwPoint > LOGFILESIZE)
dwPoint = SetFilePointer(hC4Log, 0, 0, FILE_BEGIN);
}
strcat(szBuffer, ENDFLAG);
long len = strlen(szBuffer);
DWORD ltemp = 0;
if(dwPoint + len > LOGFILESIZE)
{
WriteFile(hC4Log, bZero, BYTES_NUM_ENDFLAG, <emp, NULL);
dwPoint = SetFilePointer(hC4Log, 0, 0, FILE_BEGIN);
}
WriteFile(hC4Log, szBuffer, len, <emp, NULL);
dwPoint = SetFilePointer(hC4Log, 0, 0, FILE_CURRENT);
if((dwPoint + 4) >= dwFilesize)
SetFilePointer(hC4Log, dwPoint, 0, FILE_BEGIN);
else
SetFilePointer(hC4Log, -4, 0, FILE_END);
WriteFile(hC4Log, &dwPoint, sizeof(DWORD), <emp, NULL);
CloseHandle(hC4Log);
}
}
catch(...)
{
NKDbgPrintfW(TEXT("Exception!!!!!!!!!!!!!!!!!\r\n"));
}
}