2024-12-21 10:04:04 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// INCLUDE
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#include "STDAFX.H"
|
|
|
|
|
|
#include "ERRORFORMAT.H"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
|
|
// IMPLEMENTATION
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// TYPE : VARIABLE
|
|
|
|
|
|
// NAME : CErrorFormat::m_hNetMsg
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// DESC : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> NETMSG.DLL <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5>ϴ<EFBFBD> DLL <20>ڵ<EFBFBD><DAB5><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
// PRGM : B4nFter
|
|
|
|
|
|
// P.S.>
|
|
|
|
|
|
// - <20><><EFBFBD><EFBFBD> 1ȸ<31><C8B8> <20>ε<EFBFBD><CEB5>ϸ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> static <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
|
|
|
|
|
// - <20><> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ü<EFBFBD><C3BC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD><EFBFBD>鿡<EFBFBD><E9BFA1> m_hNetMsg <20><> <20><><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ<EFBFBD>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ:8, <20>ý<EFBFBD><C3BD><EFBFBD><EFBFBD>ڿ<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
|
|
|
|
|
// - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>μ<EFBFBD><CEBC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD> <20>˾Ƽ<CBBE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
HMODULE CErrorFormat::m_hNetMsg = NULL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// TYPE : FUNCTION
|
|
|
|
|
|
// NAME : CErrorFormat::CErrorFormat
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// DESC : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
// PARM : N/A
|
|
|
|
|
|
// RETV : N/A
|
|
|
|
|
|
// PRGM : B4nFter
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
CErrorFormat::CErrorFormat()
|
|
|
|
|
|
{
|
|
|
|
|
|
if (!m_hNetMsg) {
|
|
|
|
|
|
m_hNetMsg = ::LoadLibraryEx(_T("netmsg.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Clear();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// TYPE : FUNCTION
|
|
|
|
|
|
// NAME : CErrorFormat::~CErrorFormat
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// DESC : <20>Ҹ<EFBFBD><D2B8><EFBFBD>
|
|
|
|
|
|
// PARM : N/A
|
|
|
|
|
|
// RETV : N/A
|
|
|
|
|
|
// PRGM : B4nFter
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
CErrorFormat::~CErrorFormat()
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// TYPE : FUNCTION
|
|
|
|
|
|
// NAME : CErrorFormat::Write
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// DESC : <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڵ带 <20>ؼ<EFBFBD><D8BC>Ͽ<EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
// PARM : 1 . iErrorCode - <20>ý<EFBFBD><C3BD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
|
|
|
|
|
// 2 . lpszErrorMessage - <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEBD><EFBFBD>
|
|
|
|
|
|
// RETV : <20>ؼ<EFBFBD><D8BC><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD>
|
|
|
|
|
|
// PRGM : B4nFter
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
CONST LPTSTR CErrorFormat::Write(INT iErrorCode, LPCTSTR lpszErrorMessage)
|
|
|
|
|
|
{
|
|
|
|
|
|
DWORD dwFormatFlags = FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_FROM_SYSTEM;
|
|
|
|
|
|
LPCVOID lpModule = NULL;
|
|
|
|
|
|
|
|
|
|
|
|
if (iErrorCode >= NERR_BASE && iErrorCode <= MAX_NERR && NULL != m_hNetMsg) {
|
|
|
|
|
|
lpModule = m_hNetMsg;
|
|
|
|
|
|
dwFormatFlags |= FORMAT_MESSAGE_FROM_HMODULE;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
m_szSystemErrorMessage[0] = _T('\0');
|
|
|
|
|
|
::FormatMessage(dwFormatFlags, lpModule, iErrorCode, 0, m_szSystemErrorMessage, COUNT_OF(m_szSystemErrorMessage), NULL);
|
|
|
|
|
|
if (m_szSystemErrorMessage[0] != _T('\0')) {
|
|
|
|
|
|
LPTSTR lpszNewLine = _tcschr(m_szSystemErrorMessage, _T('\r'));
|
|
|
|
|
|
if (lpszNewLine) {
|
|
|
|
|
|
*lpszNewLine = _T('\0');
|
|
|
|
|
|
}
|
|
|
|
|
|
SNPRINTF(MODE_DBG_EX(m_szTotalErrorMessage, COUNT_OF(m_szTotalErrorMessage)), COUNT_OF(m_szTotalErrorMessage), _T("[%d] %s"), iErrorCode, m_szSystemErrorMessage);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (lpszErrorMessage) {
|
|
|
|
|
|
STRNCAT(m_szTotalErrorMessage, lpszErrorMessage, COUNT_OF(m_szTotalErrorMessage));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
m_iErrorCode = iErrorCode;
|
|
|
|
|
|
|
|
|
|
|
|
return m_szTotalErrorMessage;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// TYPE : FUNCTION
|
|
|
|
|
|
// NAME : CErrorFormat::Write
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
// DESC : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
|
|
|
|
// PARM : 1 . lpszErrorMessage - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEBD><EFBFBD>
|
|
|
|
|
|
// RETV : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD><DEBD><EFBFBD>
|
|
|
|
|
|
// PRGM : B4nFter
|
|
|
|
|
|
//*---------------------------------------------------------------
|
|
|
|
|
|
CONST LPTSTR CErrorFormat::Write(LPCTSTR lpszErrorMessage)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (lpszErrorMessage) {
|
|
|
|
|
|
_tcsncpy_s(m_szTotalErrorMessage, COUNT_OF(m_szTotalErrorMessage), lpszErrorMessage, _TRUNCATE);
|
|
|
|
|
|
}
|
|
|
|
|
|
else {
|
|
|
|
|
|
_tcsncpy_s(m_szTotalErrorMessage, COUNT_OF(m_szTotalErrorMessage), _T(""), _TRUNCATE);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
m_iErrorCode = 0;
|
|
|
|
|
|
|
|
|
|
|
|
return m_szTotalErrorMessage;
|
|
|
|
|
|
}
|
|
|
|
|
|
|