105 lines
2.8 KiB
C++
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_
|