xlogfile.h

来自「NDIS HOOK实例」· C头文件 代码 · 共 66 行

H
66
字号
//=============================================================================================
/*
	XLogFile.h
	File operate function of log file

	Project	: XFILTER 1.0 Personal Firewall
	Author	: Tony Zhu
	Create Date	: 2001/08/23
	Email	: xstudio@xfilt.com
	URL		: http://www.xfilt.com

	Copyright (c) 2001-2002 XStudio Technology.
	All Rights Reserved.
*/
//=============================================================================================
// Log file

#ifndef XLOGFILE_H
#define XLOGFILE_H

typedef struct _LOG_HEADER
{
	TCHAR	Singnature[16];
	DWORD	RecordCount;
	DWORD	CurrentPosition;
} LOG_HEADER, *PLOG_HEADER;

typedef struct _LOG_FIND
{
	IN	CTime	tStartTime;
	IN	CTime	tEndTime;
	OUT DWORD	ulStartPosition;
	OUT DWORD	ulRecordCount;
	OUT DWORD	ulChangeDirectionIndex;
} LOG_FIND, *PLOG_FIND;

#define LOG_HEADER_LENTH			sizeof(LOG_HEADER)
#define FILE_SIZE_1M_BYTES			1048576
#define RESULT_ONE_RECORD_LENTH		LOG_HEADER_LENTH + SESSION_LENTH

class CXLogFile
{
private:
	CRITICAL_SECTION	gCriticalSectionLog;

private:
	int		CreateLog(const TCHAR *sPathName);
	int		CloseLog();
	int		OpenLog();
	int		WriteHeader();

public:
	CXLogFile();
	virtual ~CXLogFile();

	int		AddLog(SESSION *session, long MaxLogSize = 5);
	int		FindLog(LOG_FIND *logfind,  long MaxLogSize = 5);

public:
	LOG_HEADER		m_LogHeader;
	CFileStatus		m_FileStatus;
	CFile			m_LogFile;
	CString			m_sPathName;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?