#pragma once //+--------------------------------------------------------------------------- // // Copyright (C) 1994, Microsoft Corporation. // // File: DOQUERY.HXX // // Contents: Content Index Test 'Q' query-related definitions // // History: 02 Nov 94 alanw Created from citest.hxx and screen.hxx // //---------------------------------------------------------------------------- // possible query errors enum QUERY_ERROR { QUERY_IQUERY_FAILED = 0, QUERY_UNKNOWN_PROPERTY_FOR_OUTPUT, QUERY_UNKNOWN_PROPERTY_FOR_SORT, QUERY_EXECUTE_FAILED, QUERY_GETROWS_FAILED, QUERY_GETBINDINGS_FAILED, QUERY_TABLE_CONTAINS_UNKNOWN_PROPERTY, QUERY_GET_CD_FAILED, QUERY_COUNT_FAILED, QUERY_TABLE_REFRESH_FAILED, QUERY_GETSTATUS_FAILED, QUERY_GET_COLUMNS_FAILED, QUERY_NOISE_PHRASE, QUERY_INCOMPATIBLE_VERSIONS, QUERY_ERRORS_IN_COMMAND_TREE, QUERY_UNKNOWN_PROPERTY_FOR_CATEGORIZATION, }; //+--------------------------------------------------------------------------- // // Class: CQueryException // // Purpose: Exception class for general query errors // // History: 10-Jun-94 t-jeffc Created. // //---------------------------------------------------------------------------- class CQueryException : public CException { public: CQueryException( QUERY_ERROR qe ) : CException( E_INVALIDARG ) { _qe = qe; } QUERY_ERROR GetQueryError() { return _qe; } // inherited methods #if !defined(NATIVE_EH) EXPORTDEF virtual int WINAPI IsKindOf( const char * szClass ) const { if( strcmp( szClass, "CQueryException" ) == 0 ) return TRUE; else return CException::IsKindOf( szClass ); } #endif // !NATIVE_EH private: QUERY_ERROR _qe; }; class CCatState; typedef XPtr XDbCmdTreeNode; CDbCmdTreeNode * FormQueryTree( CDbCmdTreeNode & xRst, CCatState & states, IColumnMapper * plist, BOOL fAddBmkCol = FALSE, BOOL fAddRankForBrowse= TRUE ); void SetScopeProperties( ICommand * pCmd, unsigned cDirs, WCHAR const * const * apDirs, ULONG const * aulFlags, WCHAR const * const * apCats = 0, WCHAR const * const * apMachines = 0 ); SCODE SetScopePropertiesNoThrow( ICommand * pCmd, unsigned cDirs, WCHAR const * const * apDirs, ULONG const * aulFlags, WCHAR const * const * apCats = 0, WCHAR const * const * apMachines = 0 );