⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filerecorder.h

📁 手机开发环境BREW实例
💻 H
字号:
// FileRecorder.h: interface for the CFileRecorder class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FILERECORDER_H__081DB9F4_BC57_4537_954F_849B773C18C4__INCLUDED_)
#define AFX_FILERECORDER_H__081DB9F4_BC57_4537_954F_849B773C18C4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CFileRecorder  
{
	struct SCS
	{
		CRITICAL_SECTION	CS;
#ifdef _DEBUG
		BOOL				bEnter;//进入CS了吗?
#endif

		SCS()
		{
			//初始化临界区对象
			InitializeCriticalSection(&CS);
#ifdef _DEBUG
			bEnter = FALSE;
#endif
		}

		//进入临界区
		inline void Lock()
		{
			::EnterCriticalSection(&CS);
#ifdef _DEBUG
			bEnter = TRUE;
#endif
		}

		//退出临界区
		inline void UnLock()
		{
			::LeaveCriticalSection(&CS);
#ifdef _DEBUG
			bEnter = FALSE;
#endif
		}
	}m_sCS;  //整个SocketManager的临界区对象,在对m_pSocketRes整体进行操作(如果申请,释放socket时),并可能与其它线程发生冲突时使用
public:
	BOOL Submit(const char* pszDebugPath, const char* pszSP_ID, const BYTE* pbtPack, UINT nPackLength, int iFlag);
	CFileRecorder(const char* pProtocolName);
	virtual ~CFileRecorder();

private:
	void Append(const char* pszContent);
	void Close();
	BOOL Open(const char* pszDebugPath, const char* pszSP_ID);
	char m_szProtocolName[64];
	FILE* m_pFile;
};

#endif // !defined(AFX_FILERECORDER_H__081DB9F4_BC57_4537_954F_849B773C18C4__INCLUDED_)

⌨️ 快捷键说明

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