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

📄 dumperr.cpp

📁 手机编程之接收发送短信
💻 CPP
字号:
#include "stdafx.h"
#include "dumperr.h"
#include <stdio.h>

//-------------------------------------------------------------------------------------------
//	函数名:dump_com_error
//	函数功能:根据COM异常类的信息,填充错误字符串
//	参数说明:
//		_com_error &e : COM异常类
//		char* sError : 错误字符串
//    int nSize : 字符串的长度
//-------------------------------------------------------------------------------------------
void dump_com_error( _com_error &e, char* sError, int nSize, char* szPrompt /*=NULL*/ )
{
  _bstr_t bstrSource(e.Source());
  _bstr_t bstrDes(e.Description());

  memset(sError,0,nSize);
  if ( !szPrompt ) {
	  sprintf(sError,"COM ERROR!\r\n Code=0x%08lx\r\n"
					  "Code meaning = %s\r\n"
					  "Source=%s\r\n"
					  "Description=%s",
					  e.Error(),e.ErrorMessage(),
					  (LPCSTR) bstrSource,(LPCSTR)bstrDes);
  }else{
	  sprintf(sError,"%s\r\n Code=0x%08lx\r\n"
					  "Code meaning = %s\r\n"
					  "Source=%s\r\n"
					  "Description=%s",
					  szPrompt, 
					  e.Error(),e.ErrorMessage(),
					  (LPCSTR) bstrSource,(LPCSTR)bstrDes);
  }
}

//-------------------------------------------------------------------------------------------
//	函数名:dump_system_error
//	函数功能:根据当前的系统错误号,获得系统错误字符串
//	参数说明:
//		char* sError : 返回系统错误字符串
//-------------------------------------------------------------------------------------------
void dump_system_error(char* sError,int nSize,char* sDes)
{
  DWORD dwErr;
  char *sErr;

  memset(sError,0,nSize);
  sErr=(char*)malloc(nSize);
  memset(sErr,0,nSize);
  dwErr=::GetLastError();
  ::FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,NULL,dwErr,
      MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT),(LPTSTR)sErr,nSize,NULL);
  if(sDes){
    sprintf(sError,"SYSTEM ERROR!\xd\xaCode = 0x%8lx\xd\xa\
                    Code meaning = %s\xd\xa\
                    Description = %s\xd\xa",
                    dwErr,sErr,sDes);
  }else{
    sprintf(sError,"SYSTEM ERROR!\xd\xaCode = 0x%8lx\xd\xa\
                    Code meaning = %s\xd\xa",
                    dwErr,sErr);
  }
  free(sErr);
}

⌨️ 快捷键说明

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