2025-11-28 00:35:46 +09:00

105 lines
2.8 KiB
C++

//-----------------------------------------------------------------------------
// Microsoft OLE DB RowsetViewer
// Copyright (C) 1994 - 1999 By Microsoft Corporation.
//
// @doc
//
// @module CERROR.H
//
//-----------------------------------------------------------------------------------
#ifndef _CERROR_H_
#define _CERROR_H_
///////////////////////////////////////////////////////////////
// Includes
//
///////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
// CError class
//
/////////////////////////////////////////////////////////////////
class CError : public CBase
{
public:
//Constructors
CError(CMainWindow* pCMainwindow);
virtual ~CError();
//IUnknown Helpers
virtual HRESULT AutoQI(DWORD dwCreateOpts);
virtual HRESULT AutoRelease();
virtual IUnknown** GetInterfaceAddress(REFIID riid);
//Pure Virtual
virtual WCHAR* GetObjectName() { return L"Error Object"; }
virtual UINT GetObjectMenu() { return IDM_ERRORMENU; }
virtual LONG GetObjectImage() { return IMAGE_ERROR; }
virtual REFIID GetDefaultInterface() { return IID_IErrorInfo; }
virtual WCHAR* GetObjectDesc();
//IErrorInfo
virtual HRESULT GetDescription(BSTR* pbstrDescription);
virtual HRESULT GetGUID(GUID* pGuid);
virtual HRESULT GetHelpFile(BSTR* pbstrHelpFile);
virtual HRESULT GetSource(BSTR* pbstrSource);
virtual HRESULT GetHelpContext(DWORD* pdwHelpContext);
//IErrorRecords
virtual HRESULT GetRecordCount(ULONG* pulCount);
virtual HRESULT GetCustomErrorObject(ULONG ulRecordNum, REFIID riid, IUnknown** ppObject);
virtual HRESULT GetErrorInfo(ULONG ulRecordNum, LCID lcid, IErrorInfo** ppErrorInfo);
//Helpers
//OLE DB Interfaces
//[MANDATORY]
IErrorInfo* m_pIErrorInfo; //Error interface
IErrorRecords* m_pIErrorRecords; //Error interface
//[OPTIONAL]
};
/////////////////////////////////////////////////////////////////
// CCustomError class
//
/////////////////////////////////////////////////////////////////
class CCustomError : public CBase
{
public:
//Constructors
CCustomError(CMainWindow* pCMainwindow);
virtual ~CCustomError();
//IUnknown Helpers
virtual HRESULT AutoQI(DWORD dwCreateOpts);
virtual HRESULT AutoRelease();
virtual IUnknown** GetInterfaceAddress(REFIID riid);
//Pure Virtual
virtual WCHAR* GetObjectName() { return L"Custom Error Object"; }
virtual UINT GetObjectMenu() { return IDM_CUSTOMERRORMENU; }
virtual LONG GetObjectImage() { return IMAGE_ERROR; }
virtual REFIID GetDefaultInterface() { return IID_ISQLErrorInfo; }
virtual WCHAR* GetObjectDesc();
//ISQLErrorInfo
virtual HRESULT GetSQLInfo(BSTR* pbstrSQLState, LONG* plNativeError);
//Helpers
//OLE DB Interfaces
//[MANDATORY]
//[OPTIONAL]
ISQLErrorInfo* m_pISQLErrorInfo; //Error interface
};
#endif //_CERROR_H_