91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 64KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-04
  • 語言: C#
  • 標簽: asp.net??

資源簡介

多線程日志記錄源碼 多線程日志記錄源碼 多線程日志記錄源碼

資源截圖

代碼片段和文件信息

//?InfomationReport.cpp:?implementation?of?the?CInfoReport?class.
//
//////////////////////////////////////////////////////////////////////

#include?“stdafx.h“
#include?“WriteInfo.h“

#include?“InfomationReport.h“

#ifdef?_DEBUG
#undef?THIS_FILE
static?char?THIS_FILE[]=__FILE__;
#define?new?DEBUG_NEW
#endif

//?因為是static?member,所以要在此聲明
CPtrList?CInfoReport::m_lstpThreads;
DWORD?CInfoReport::m_dwFatalErrThrdID;

//////////////////////////////////////////////////////////////////////
//?Construction/Destruction
//////////////////////////////////////////////////////////////////////

CInfoReport::CInfoReport()
{

}

CInfoReport::~CInfoReport()
{

}

//////////////////////////////////////////////////////////////////
// 功能函數
//////////////////////////////////////////////////////////////////

//
//??FUNCTION:?DWORD?Register(LPCTSTR?ModuleNameToReg)
//
//??PURPOSE:?根據傳入的模塊名返回一個ID為調用WriteInfo()作準備
//
//??PARAMETERS:
// MoudleNameToReg:?用來獲取ID的模塊名稱。
//
//??RETURN?VALUE:
// DWORD類型,實際上是所分配線程在lstpThreads鏈表中的存儲位置。
//
//??COMMENTS:
//
// 當需要日志記錄時,需要用該函數取得一個ID來調用WriteInfo()。
// 該函數給出一個新的ID意味著為調用它的模塊產生了一個新的日志記錄線程。
//
DWORD?CInfoReport::Register(LPCTSTR?ModuleNameToReg)
{
CWriteInfo?*pWriteInfo?=?NULL;
POSITION?pos?posPrev;
//?首先要起動一個維護FatalErr.log的線程
if(m_lstpThreads.IsEmpty())
{
CString?strFatalErr?=?“FatalErr.log“;
//?為每一個需要注冊的模塊創建操作對應文件的線程
pWriteInfo?=?(CWriteInfo*)::AfxBeginThread(RUNTIME_CLASS(CWriteInfo)00CREATE_SUSPENDED);
pWriteInfo->SetModuleFileName(strFatalErr);
m_dwFatalErrThrdID?=?(DWORD)m_lstpThreads.AddTail(pWriteInfo);
pWriteInfo->ResumeThread();
}
????//?當遇到在一個模塊內重復調用該函數這種情況時仍然返回原有的ID即對應線程在m_lstpThreads中的position即可
pos?=?m_lstpThreads.GetHeadPosition();
while(pos)
{
posPrev?=?pos;
pWriteInfo?=?(CWriteInfo*)m_lstpThreads.GetNext(pos);
if(0?==?pWriteInfo->GetName().CompareNoCase(ModuleNameToReg))
//if(ModuleNameToReg?==?pWriteInfo->GetName())
{
return?(DWORD)posPrev;
}
}
//?為每一個需要注冊的模塊創建或者打開操作對應的文件
{
}
//?為每一個需要注冊的模塊創建操作對應文件的線程
pWriteInfo?=?(CWriteInfo*)::AfxBeginThread(RUNTIME_CLASS(CWriteInfo)00CREATE_SUSPENDED);
pWriteInfo->SetModuleFileName(ModuleNameToReg);
pos?=?m_lstpThreads.AddTail(pWriteInfo);
pWriteInfo->ResumeThread();
return?(DWORD)pos;
}

//////////////////////////////////////////////////////////////////
// 功能函數
//////////////////////////////////////////////////////////////////

//
//??FUNCTION:?void?WriteInfo(DWORD?MoudleID?CString?InfoDescribe)
//
//??PURPOSE:?將提供的信息寫入到對應的日志文件中。
//
//??PARAMETERS:
// MoudleID:?用Register()函數獲取來的模塊ID如果以NULL作為MoudleID來調
// ??用此函數那就意味著發生了致命錯誤信息將被寫入到FatalErr.log文件中。
// InfoDescribe:?需要記錄的信息
//
//??RETURN?VALUE:
// N/A
//
//??COMMENTS:
//
// 用該函數寫入日志信息。
//
void?CInfoReport::WriteInfo(DWORD?MoudleID?CString?InfoDescribe)
{
/* //?如果以NULL作為MoudleID來調用此函數那就意味著發生了致命錯誤.
if(MoudleID?==?NULL)
MoudleID?=?m_dwFatalErrThrdID;
*/??

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????1277??2007-06-14?10:13??InfoReportDemo多線程日志記錄good\Include\InfomationReport.h

?????文件???????5458??2007-06-14?12:25??InfoReportDemo多線程日志記錄good\InfoReport\InfomationReport.cpp

?????文件???????1561??2003-05-28?15:03??InfoReportDemo多線程日志記錄good\InfoReport\InfoReport.cpp

?????文件????????196??2003-05-28?15:03??InfoReportDemo多線程日志記錄good\InfoReport\InfoReport.def

?????文件???????4539??2007-06-14?13:31??InfoReportDemo多線程日志記錄good\InfoReport\InfoReport.dsp

?????文件????????543??2003-05-28?15:03??InfoReportDemo多線程日志記錄good\InfoReport\InfoReport.dsw

?????文件??????58368??2007-06-14?13:52??InfoReportDemo多線程日志記錄good\InfoReport\InfoReport.ncb

?????文件??????54784??2007-06-14?13:52??InfoReportDemo多線程日志記錄good\InfoReport\InfoReport.opt

?????文件????????256??2007-06-14?13:52??InfoReportDemo多線程日志記錄good\InfoReport\InfoReport.plg

?????文件???????3089??2003-05-28?15:03??InfoReportDemo多線程日志記錄good\InfoReport\InfoReport.rc

?????文件?????????51??2003-06-02?10:47??InfoReportDemo多線程日志記錄good\InfoReport\res\CVS\Entries

?????文件?????????23??2003-06-02?10:47??InfoReportDemo多線程日志記錄good\InfoReport\res\CVS\Repository

?????文件?????????46??2003-06-02?10:47??InfoReportDemo多線程日志記錄good\InfoReport\res\CVS\Root

?????文件????????402??2003-05-28?15:03??InfoReportDemo多線程日志記錄good\InfoReport\res\InfoReport.rc2

?????文件????????382??2003-05-28?15:03??InfoReportDemo多線程日志記錄good\InfoReport\Resource.h

?????文件????????212??2003-05-28?15:03??InfoReportDemo多線程日志記錄good\InfoReport\StdAfx.cpp

?????文件???????1485??2003-05-28?15:03??InfoReportDemo多線程日志記錄good\InfoReport\StdAfx.h

?????文件???????4511??2007-06-14?13:51??InfoReportDemo多線程日志記錄good\InfoReport\WriteInfo.cpp

?????文件???????1580??2003-05-29?14:25??InfoReportDemo多線程日志記錄good\InfoReport\WriteInfo.h

?????文件???????1965??2003-06-12?17:14??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.clw

?????文件???????4468??2007-06-14?12:37??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.cpp

?????文件???????4914??2007-06-14?12:47??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.dsp

?????文件????????551??2003-06-12?17:14??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.dsw

?????文件???????1444??2003-06-12?17:14??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.h

?????文件??????66560??2007-06-14?13:52??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.ncb

?????文件??????55808??2007-06-14?13:52??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.opt

?????文件????????838??2007-06-14?13:52??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.plg

?????文件???????9997??2003-06-12?17:14??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTest.rc

?????文件???????1902??2003-06-12?17:14??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTestDoc.cpp

?????文件???????1563??2003-06-12?17:14??InfoReportDemo多線程日志記錄good\InfoReportTest\InfoReportTestDoc.h

............此處省略34個文件信息

評論

共有 條評論