#pragma once
struct TCEXCEPINFO : public tagEXCEPINFO
{
public:
TCEXCEPINFO();
~TCEXCEPINFO();
public:
static void Release(EXCEPINFO* pei);
static HRESULT CreateErrorInfo(EXCEPINFO* pei, IErrorInfo** ppei);
static HRESULT SetErrorInfo(EXCEPINFO* pei);
void Release();
HRESULT CreateErrorInfo(IErrorInfo** ppei);
HRESULT SetErrorInfo();
};
inline TCEXCEPINFO::TCEXCEPINFO()
{
ZeroMemory(this, sizeof(*this));
}
inline TCEXCEPINFO::~TCEXCEPINFO()
{
Release();
}
inline void TCEXCEPINFO::Release()
{
Release(this);
}
inline HRESULT TCEXCEPINFO::CreateErrorInfo(IErrorInfo** ppei)
{
return CreateErrorInfo(this, ppei);
}
inline HRESULT TCEXCEPINFO::SetErrorInfo()
{
return SetErrorInfo(this);
}