14 #error Native Compiler support only available in C++ compiler 22 #define WINAPI __stdcall 42 _com_error(
const _com_error &that) throw();
43 virtual ~_com_error() throw();
50 _bstr_t HelpFile()
const;
58 void Ctor(
const _com_error &that) throw();
64 mutable TCHAR *m_pszMsg;
67 inline _com_error::_com_error(
HRESULT hr,
IErrorInfo *perrinfo,
bool fAddRef)
throw() : m_hresult(
hr),m_perrinfo(perrinfo),m_pszMsg(
NULL) {
68 if(m_perrinfo!=
NULL && fAddRef) m_perrinfo->
AddRef();
71 inline _com_error::_com_error(
const _com_error &that)
throw() {
75 inline _com_error::~_com_error() throw() {
79 inline _com_error &_com_error::operator=(
const _com_error &that)
throw() {
88 inline WORD _com_error::WCode()
const throw() {
return HRESULTToWCode(m_hresult); }
90 inline IErrorInfo *_com_error::ErrorInfo()
const throw() {
97 if(m_perrinfo!=
NULL) m_perrinfo->GetDescription(&bstr);
98 return _bstr_t(bstr,
false);
101 inline DWORD _com_error::HelpContext()
const throw() {
102 DWORD dwHelpContext = 0;
103 if(m_perrinfo!=
NULL) m_perrinfo->GetHelpContext(&dwHelpContext);
104 return dwHelpContext;
107 inline _bstr_t _com_error::HelpFile()
const {
109 if(m_perrinfo!=
NULL) m_perrinfo->GetHelpFile(&bstr);
110 return _bstr_t(bstr,
false);
115 if(m_perrinfo!=
NULL) m_perrinfo->GetSource(&bstr);
116 return _bstr_t(bstr,
false);
119 inline _GUID _com_error::GUID_()
const throw() {
122 if(m_perrinfo!=
NULL) m_perrinfo->GetGUID(&
guid);
131 if(nLen > 1 && m_pszMsg[nLen - 1]==
'\n') {
132 m_pszMsg[nLen-1] = 0;
133 if(m_pszMsg[nLen - 2]==
'\r') m_pszMsg[nLen-2] = 0;
138 WORD wCode = WCode();
150 inline HRESULT _com_error::WCodeToHRESULT(
WORD wCode)
throw() {
return wCode >= 0xFE00 ? WCODE_HRESULT_LAST : WCODE_HRESULT_FIRST + wCode; }
151 inline WORD _com_error::HRESULTToWCode(
HRESULT hr)
throw() {
return (
hr >= WCODE_HRESULT_FIRST &&
hr <= WCODE_HRESULT_LAST) ?
WORD(
hr - WCODE_HRESULT_FIRST) : 0; }
153 inline void _com_error::Dtor() throw() {
154 if(m_perrinfo!=
NULL) m_perrinfo->Release();
158 inline void _com_error::Ctor(
const _com_error &that)
throw() {
159 m_hresult = that.m_hresult;
160 m_perrinfo = that.m_perrinfo;
162 if(m_perrinfo!=
NULL) m_perrinfo->AddRef();
165 typedef int __missing_type__;
167 #if !defined(_COM_SMARTPTR) 168 #if !defined(_INC_COMIP) 171 #define _COM_SMARTPTR _com_ptr_t 172 #define _COM_SMARTPTR_LEVEL2 _com_IIID 174 #if defined(_COM_SMARTPTR) 175 #if !defined(_COM_SMARTPTR_TYPEDEF) 176 #if defined(_COM_SMARTPTR_LEVEL2) 177 #define _COM_SMARTPTR_TYPEDEF(Interface,IID) UUID IIDArgForTypedef ## Interface = IID; typedef _COM_SMARTPTR< _COM_SMARTPTR_LEVEL2<Interface, &IIDArgForTypedef ## Interface > > Interface ## Ptr 179 #define _COM_SMARTPTR_TYPEDEF(Interface,IID) UUID IIDArgForTypedef ## Interface = IID; typedef _COM_SMARTPTR<Interface,&IIDArgForTypedef ## Interface > Interface ## Ptr 184 #if !defined(_COM_NO_STANDARD_GUIDS_) 185 #if defined(__IFontDisp_INTERFACE_DEFINED__) 192 #if defined(__IFontEventsDisp_INTERFACE_DEFINED__) 193 #if !defined(FontEvents) 198 #if defined(__IPictureDisp_INTERFACE_DEFINED__) 199 #if !defined(Picture)
void WINAPI _com_issue_error(HRESULT hr)
static VOID ErrorMessage(DWORD dwErrorCode, LPWSTR szFormat,...)
static const WCHAR Description[]
#define _COM_PRINTF_S_1(dest, destsize, format, arg1)
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
#define MAKE_HRESULT(sev, fac, code)
#define FORMAT_MESSAGE_FROM_SYSTEM
void WINAPI _com_raise_error(HRESULT hr, IErrorInfo *perrinfo)
void WINAPI _set_com_error_handler(COM_ERROR_HANDLER *phandler)
static VARIANTARG static DISPID
HLOCAL NTAPI LocalFree(HLOCAL hMem)
void WINAPI _com_issue_errorex(HRESULT hr, IUnknown *punk, REFIID riid)
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)