Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+---------------------------------------------------------------------------
//
// Copyright (C) 1994, Microsoft Corporation.
//
// File: ixsexcpt.hxx
//
// Contents: Message exception package for the Index server SSO
//
// History: 04 Nov 1996 AlanW Created
//
//----------------------------------------------------------------------------
#pragma once
enum { eDefaultError = 0, eIxssoError, eParseError, ePlistError, };
//+---------------------------------------------------------------------------
//
// Class: CIxssoException
//
// Purpose: Exception class containing message numbers referring to
// keys within ixsso.dll
//
// Notes:
//
// History: 04 Nov 1996 AlanW Created
//
//----------------------------------------------------------------------------
class CIxssoException : public CException { public: CIxssoException( long lError, ULONG ulErrorIndex ) : _ulErrorIndex(ulErrorIndex), CException(lError) { }
ULONG GetErrorIndex() const { return _ulErrorIndex; }
# if !defined(NATIVE_EH)
// inherited methods
EXPORTDEF virtual int WINAPI IsKindOf( const char * szClass ) const { if( strcmp( szClass, "CIxssoException" ) == 0 ) return TRUE; else return CException::IsKindOf( szClass ); } # endif // !defined(NATIVE_EH)
private:
ULONG _ulErrorIndex;
};
//+---------------------------------------------------------------------------
//
// Class: CPostedOleDBException
//
// Purpose: Exception class containing all the error information acquired
// from the Ole DB and Content Index error lookup services. This
// information is passed to the SSO error handling service so that
// the SSO consumer can get everything in one place.
//
// Notes:
//
// History: 06 May 1997 KrishnaN Created
//
//----------------------------------------------------------------------------
class CPostedOleDBException : public CException { public: CPostedOleDBException( SCODE sc, IErrorInfo *pErrorInfo ) : CException(sc) { xErrorInfo.Set(pErrorInfo); pErrorInfo->AddRef(); }
CPostedOleDBException( CPostedOleDBException & src) : CException(src.GetErrorCode())
{ xErrorInfo.Set(src.AcquireErrorInfo()); }
IErrorInfo * AcquireErrorInfo () { return xErrorInfo.Acquire(); }
# if !defined(NATIVE_EH)
// inherited methods
EXPORTDEF virtual int WINAPI IsKindOf( const char * szClass ) const { if( strcmp( szClass, "CPostedOleDBException" ) == 0 ) return TRUE; else return CException::IsKindOf( szClass ); } # endif // !defined(NATIVE_EH)
private:
XInterface<IErrorInfo> xErrorInfo;
};
|