2025-04-27 07:49:33 -04:00

75 lines
1.7 KiB
C++

/*===================================================================
Microsoft Denali
Microsoft Confidential.
Copyright 1998 Microsoft Corporation. All Rights Reserved.
Component: ASPError object
File: asperror.h
Owner: dmitryr
This file contains the definiton of the ASPError class
===================================================================*/
#ifndef _ASPERROR_H
#define _ASPERROR_H
#include "debug.h"
#include "asptlb.h"
#include "disptch2.h"
#include "memcls.h"
// forward decl
class CErrInfo;
class CASPError : public IASPErrorImpl
{
private:
LONG m_cRefs;
CHAR *m_szASPCode;
LONG m_lNumber;
int m_nColumn;
CHAR *m_szSource;
CHAR *m_szFileName;
LONG m_lLineNumber;
CHAR *m_szDescription;
CHAR *m_szASPDescription;
BSTR m_bstrLineText;
BSTR ToBSTR(CHAR *sz);
public:
// default constructor for 'dummy' error
CASPError();
// real constructor
CASPError(CErrInfo *pErrInfo);
~CASPError();
// IUnknown
STDMETHODIMP QueryInterface(REFIID, VOID**);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
// IASPError
STDMETHODIMP get_ASPCode(BSTR *pbstrASPCode);
STDMETHODIMP get_Number(long *plNumber);
STDMETHODIMP get_Category(BSTR *pbstrSource);
STDMETHODIMP get_File(BSTR *pbstrFileName);
STDMETHODIMP get_Line(long *plLineNumber);
STDMETHODIMP get_Description(BSTR *pbstrDescription);
STDMETHODIMP get_ASPDescription(BSTR *pbstrDescription);
STDMETHODIMP get_Column(long *plColumn);
STDMETHODIMP get_Source(BSTR *pbstrLineText);
// Cache on per-class basis
ACACHE_INCLASS_DEFINITIONS()
};
#endif //_ASPERROR_H