/*****************************************************************************/ /** Microsoft LAN Manager **/ /** Copyright(c) Microsoft Corp., 1987-1999 **/ /*****************************************************************************/ /***************************************************************************** File : errors.hxx Title : error include file Description : This file contains the definitions of errors generated By the MIDL compiler. History : VibhasC 23-Jul-1990 Created NateO 20-Sep-1990 Safeguards against double inclusion *****************************************************************************/ /**************************************************************************** *** D errors range : *** 1000-1999 *** C errors range : *** 2000-9999 ****************************************************************************/ #ifndef __ERRORS_HXX__ #define __ERRORS_HXX__ // define the data structures needed for the error handler typedef struct _e_mask { unsigned char ucSwitchConfig; unsigned char ucWarningLevel; unsigned char ucErrorClass; char cMessageType; } E_MASK; // definition of mode switch configuration combinations #define ZZZ (0) #define ZZM (1 << 1) #define ZCZ (1 << 2) #define ZCM (1 << 3) #define AZZ (1 << 4) #define AZM (1 << 5) #define ACZ (1 << 6) #define ACM (1 << 7) // message type #define C_MSG ('C') #define D_MSG ('D') #define A_MSG ('A') // error class #define CLASS_ERROR (0) #define CLASS_WARN (1) #define CLASS_ADVICE (2) // extraction macros #define GET_ECLASS(x) ((x).ucErrorClass) #define GET_WL(x) ((x).ucWarningLevel) #define GET_SC(x) ((x).ucSwitchConfig) #define GET_MT(x) ((x).cMessageType) #define MAKE_E_MASK( sc, mt, ec, wl ) \ { sc, wl, ec, mt } #define D_ERROR_BASE 1000 #define C_ERROR_BASE 2000 #define A_ERROR_BASE 3000 #define I_ERROR_BASE 9000 enum _status_t { STATUS_OK ,D_ERR_START = D_ERROR_BASE ,NO_INPUT_FILE = D_ERR_START // no input file specified ,INPUT_OPEN // error in opening file ,INPUT_READ // error in positioning file ,PREPROCESSOR_ERROR // error in preprocessing ,PREPROCESSOR_EXEC // cant exec preprocessor ,NO_PREPROCESSOR ,PREPROCESSOR_INVALID ,SWITCH_REDEFINED // redef of switch ,UNKNOWN_SWITCH ,UNKNOWN_ARGUMENT ,UNIMPLEMENTED_SWITCH ,MISSING_ARG ,ILLEGAL_ARGUMENT ,BAD_SWITCH_SYNTAX ,NO_CPP_OVERRIDES ,NO_WARN_OVERRIDES ,INTERMEDIATE_FILE_CREATE ,UNUSED_ERROR_CODE1 ,OUT_OF_SYSTEM_FILE_HANDLES ,UNUSED_ERROR_CODE2 ,CANNOT_OPEN_RESP_FILE ,ILLEGAL_CHAR_IN_RESP_FILE ,MISMATCHED_PREFIX_PAIR ,NESTED_RESP_FILE ,D_ERR_MAX ,C_ERR_START = C_ERROR_BASE // general errors. The ones which are hard to pin down into any category. ,ABSTRACT_DECL = C_ERR_START ,ACTUAL_DECLARATION ,C_STACK_OVERFLOW ,DUPLICATE_DEFINITION ,NO_HANDLE_DEFINED_FOR_PROC ,OUT_OF_MEMORY ,RECURSIVE_DEF ,REDUNDANT_IMPORT ,SPARSE_ENUM ,UNDEFINED_SYMBOL ,UNDEFINED_TYPE ,UNRESOLVED_TYPE ,WCHAR_CONSTANT_NOT_OSF ,WCHAR_STRING_NOT_OSF ,WCHAR_T_ILLEGAL ,TYPELIB_NOT_LOADED ,TWO_LIBRARIES ,NO_IDISPATCH ,ERR_TYPELIB ,ERR_TYPEINFO ,ERR_TYPELIB_GENERATION ,DUPLICATE_IID ,BAD_ENTRY_VALUE // syntax related errors ,ASSUMING_CHAR ,DISCARDING_CHAR ,BENIGN_SYNTAX_ERROR ,SYNTAX_ERROR // pragma related errors ,UNKNOWN_PRAGMA_OPTION // unimplemented messages ,UNIMPLEMENTED_FEATURE ,UNIMPLEMENTED_TYPE // expression errors ,EXPR_DEREF_ON_NON_POINTER ,EXPR_DIV_BY_ZERO ,EXPR_INCOMPATIBLE_TYPES ,EXPR_INDEXING_NON_ARRAY ,EXPR_LHS_NON_COMPOSITE ,EXPR_NOT_CONSTANT ,EXPR_NOT_EVALUATABLE ,EXPR_NOT_IMPLEMENTED // interface errors ,NO_PTR_DEFAULT_ON_INTERFACE ,NOT_OLEAUTOMATION_INTERFACE // parameter related errors ,DERIVES_FROM_PTR_TO_CONF ,DERIVES_FROM_UNSIZED_STRING ,NON_PTR_OUT ,OPEN_STRUCT_AS_PARAM ,OUT_CONTEXT_GENERIC_HANDLE ,CTXT_HDL_TRANSMIT_AS ,PARAM_IS_ELIPSIS ,VOID_PARAM_WITH_NAME ,DERIVES_FROM_COCLASS_OR_MODULE // procedure related semantic errors ,HANDLE_NOT_FIRST ,PROC_PARAM_COMM_STATUS ,LOCAL_ATTR_ON_PROC ,ILLEGAL_USE_OF_PROPERTY_ATTRIBUTE ,MULTIPLE_PROPERTY_ATTRIBUTES ,ILLEGAL_COMBINATION_OF_ATTRIBUTES // structure semantic errors ,CONFORMANT_ARRAY_NOT_LAST // union semantic errors ,DUPLICATE_CASE ,NO_UNION_DEFAULT // attribute semantic errors ,ATTRIBUTE_ID_UNRESOLVED ,ATTR_MUST_BE_INT ,BYTE_COUNT_INVALID ,BYTE_COUNT_NOT_OUT_PTR ,BYTE_COUNT_ON_CONF ,BYTE_COUNT_PARAM_NOT_IN ,BYTE_COUNT_PARAM_NOT_INTEGRAL ,BYTE_COUNT_WITH_SIZE_ATTR ,CASE_EXPR_NOT_CONST ,CASE_EXPR_NOT_INT ,CONTEXT_HANDLE_VOID_PTR ,ERROR_STATUS_T_REPEATED ,E_STAT_T_MUST_BE_PTR_TO_E ,ENDPOINT_SYNTAX ,INAPPLICABLE_ATTRIBUTE ,ALLOCATE_INVALID ,INVALID_ALLOCATE_MODE ,INVALID_SIZE_ATTR_ON_STRING ,LAST_AND_LENGTH ,MAX_AND_SIZE ,NO_SWITCH_IS ,NO_UUID_SPECIFIED ,UUID_LOCAL_BOTH_SPECIFIED ,SIZE_LENGTH_TYPE_MISMATCH ,STRING_NOT_ON_BYTE_CHAR ,SWITCH_TYPE_MISMATCH ,TRANSMIT_AS_CTXT_HANDLE ,TRANSMIT_AS_NON_RPCABLE ,TRANSMIT_AS_POINTER ,TRANSMIT_TYPE_CONF ,UUID_FORMAT ,UUID_NOT_HEX ,OPTIONAL_PARAMS_MUST_BE_LAST ,DLLNAME_REQUIRED ,INVALID_USE_OF_BINDABLE ,INVALID_USE_OF_PROPPUT ,DISPATCH_ID_REQUIRED // acf semantic errors ,ACF_INTERFACE_MISMATCH ,DUPLICATE_ATTR ,INVALID_COMM_STATUS_PARAM ,LOCAL_PROC_IN_ACF ,TYPE_HAS_NO_HANDLE ,UNDEFINED_PROC ,UNDEF_PARAM_IN_IDL // array and pointer semantic errors ,ARRAY_BOUNDS_CONSTRUCT_BAD ,ILLEGAL_ARRAY_BOUNDS ,ILLEGAL_CONFORMANT_ARRAY ,UNSIZED_ARRAY ,NOT_FIXED_ARRAY ,SAFEARRAY_USE // lex errors ,CHAR_CONST_NOT_TERMINATED ,EOF_IN_COMMENT ,EOF_IN_STRING ,ID_TRUNCATED ,NEWLINE_IN_STRING ,STRING_TOO_LONG ,IDENTIFIER_TOO_LONG ,CONSTANT_TOO_BIG ,ERROR_PARSING_NUMERICAL // backend related errors ,ERROR_OPENING_FILE ,ERR_BIND // couldn't bind to a function ,ERR_INIT // couldn't initialize OLE ,ERR_LOAD // couldn't load a library // more errors ,UNIQUE_FULL_PTR_OUT_ONLY ,BAD_ATTR_NON_RPC_UNION ,SIZE_SPECIFIER_CANT_BE_OUT ,LENGTH_SPECIFIER_CANT_BE_OUT // errors placed here because of the compiler mode switch changes. ,BAD_CON_INT ,BAD_CON_FIELD_VOID ,BAD_CON_ARRAY_VOID ,BAD_CON_MSC_CDECL ,BAD_CON_FIELD_FUNC ,BAD_CON_ARRAY_FUNC ,BAD_CON_PARAM_FUNC ,BAD_CON_BIT_FIELDS ,BAD_CON_BIT_FIELD_NON_ANSI ,BAD_CON_BIT_FIELD_NOT_INTEGRAL ,BAD_CON_CTXT_HDL_FIELD ,BAD_CON_CTXT_HDL_ARRAY ,BAD_CON_NON_RPC_UNION ,NON_RPC_PARAM_INT ,NON_RPC_PARAM_VOID ,NON_RPC_PARAM_BIT_FIELDS ,NON_RPC_PARAM_CDECL ,NON_RPC_PARAM_FUNC_PTR ,NON_RPC_UNION ,NON_RPC_RTYPE_INT ,NON_RPC_RTYPE_VOID ,NON_RPC_RTYPE_BIT_FIELDS ,NON_RPC_RTYPE_UNION ,NON_RPC_RTYPE_FUNC_PTR ,COMPOUND_INITS_NOT_SUPPORTED ,ACF_IN_IDL_NEEDS_APP_CONFIG ,SINGLE_LINE_COMMENT ,VERSION_FORMAT ,SIGNED_ILLEGAL ,ASSIGNMENT_TYPE_MISMATCH ,ILLEGAL_OSF_MODE_DECL ,OSF_DECL_NEEDS_CONST ,COMP_DEF_IN_PARAM_LIST ,ALLOCATE_NOT_ON_PTR_TYPE ,ARRAY_OF_UNIONS_ILLEGAL ,BAD_CON_E_STAT_T_FIELD ,CASE_LABELS_MISSING_IN_UNION ,BAD_CON_PARAM_RT_IGNORE ,MORE_THAN_ONE_PTR_ATTR ,RECURSION_THRU_REF ,BAD_CON_FIELD_VOID_PTR ,INVALID_OSF_ATTRIBUTE ,INVALID_NEWTLB_ATTRIBUTE ,WCHAR_T_INVALID_OSF ,BAD_CON_UNNAMED_FIELD ,BAD_CON_UNNAMED_FIELD_NO_STRUCT ,BAD_CON_UNION_FIELD_CONF ,PTR_WITH_NO_DEFAULT ,RHS_OF_ASSIGN_NOT_CONST ,SWITCH_IS_TYPE_IS_WRONG ,ILLEGAL_CONSTANT ,IGNORE_UNIMPLEMENTED_ATTRIBUTE ,BAD_CON_REF_RT ,ATTRIBUTE_ID_MUST_BE_VAR ,RECURSIVE_UNION ,BINDING_HANDLE_IS_OUT_ONLY ,PTR_TO_HDL_UNIQUE_OR_FULL ,HANDLE_T_NO_TRANSMIT ,UNEXPECTED_END_OF_FILE ,HANDLE_T_XMIT ,CTXT_HDL_GENERIC_HDL ,GENERIC_HDL_VOID ,NO_EXPLICIT_IN_OUT_ON_PARAM ,TRANSMIT_AS_VOID ,VOID_NON_FIRST_PARAM ,SWITCH_IS_ON_NON_UNION ,STRINGABLE_STRUCT_NOT_SUPPORTED ,SWITCH_TYPE_TYPE_BAD ,GENERIC_HDL_HANDLE_T ,HANDLE_T_CANNOT_BE_OUT ,SIZE_LENGTH_SW_UNIQUE_OR_FULL ,CPP_QUOTE_NOT_OSF ,QUOTED_UUID_NOT_OSF ,RETURN_OF_UNIONS_ILLEGAL ,RETURN_OF_CONF_STRUCT ,XMIT_AS_GENERIC_HANDLE ,GENERIC_HANDLE_XMIT_AS ,INVALID_CONST_TYPE ,INVALID_SIZEOF_OPERAND ,NAME_ALREADY_USED ,ERROR_STATUS_T_ILLEGAL ,CASE_VALUE_OUT_OF_RANGE ,WCHAR_T_NEEDS_MS_EXT_TO_RPC ,INTERFACE_ONLY_CALLBACKS ,REDUNDANT_ATTRIBUTE ,CTXT_HANDLE_USED_AS_IMPLICIT ,CONFLICTING_ALLOCATE_OPTIONS ,ERROR_WRITING_FILE ,NO_SWITCH_TYPE_AT_DEF ,ERRORS_PASS1_NO_PASS2 ,HANDLES_WITH_CALLBACK ,PTR_NOT_FULLY_IMPLEMENTED ,PARAM_ALREADY_CTXT_HDL ,CTXT_HDL_HANDLE_T ,ARRAY_SIZE_EXCEEDS_64K ,STRUCT_SIZE_EXCEEDS_64K ,NE_UNION_FIELD_NE_UNION ,PTR_ATTRS_ON_EMBEDDED_ARRAY ,ALLOCATE_ON_TRANSMIT_AS ,SWITCH_TYPE_REQD_THIS_IMP_MODE ,IMPLICIT_HDL_ASSUMED_GENERIC ,E_STAT_T_ARRAY_ELEMENT ,ALLOCATE_ON_HANDLE ,TRANSMIT_AS_ON_E_STAT_T ,IGNORE_ON_DISCRIMINANT ,NOCODE_WITH_SERVER_STUBS ,NO_REMOTE_PROCS_NO_STUBS ,TWO_DEFAULT_CASES ,TWO_DEFAULT_INTERFACES ,DEFAULTVTABLE_REQUIRES_SOURCE ,UNION_NO_FIELDS ,VALUE_OUT_OF_RANGE ,CTXT_HDL_NON_PTR ,NON_RPC_RTYPE_HANDLE_T ,GEN_HDL_CTXT_HDL ,NON_RPC_FIELD_INT ,NON_RPC_FIELD_PTR_TO_VOID ,NON_RPC_FIELD_BIT_FIELDS ,NON_RPC_FIELD_NON_RPC_UNION ,NON_RPC_FIELD_FUNC_PTR ,PROC_PARAM_FAULT_STATUS ,NON_OI_BIG_RETURN ,NON_OI_BIG_GEN_HDL ,ALLOCATE_IN_OUT_PTR ,REF_PTR_IN_UNION ,NON_OI_CTXT_HDL ,NON_OI_ERR_STATS ,NON_OI_UNK_REP_AS ,NON_OI_XXX_AS_ON_RETURN ,NON_OI_XXX_AS_BY_VALUE ,CALLBACK_NOT_OSF ,CIRCULAR_INTERFACE_DEPENDENCY ,NOT_VALID_AS_BASE_INTF ,IID_IS_NON_POINTER ,INTF_NON_POINTER ,PTR_INTF_NO_GUID ,OUTSIDE_OF_INTERFACE ,MULTIPLE_INTF_NON_OSF ,CONFLICTING_INTF_HANDLES ,IMPLICIT_HANDLE_NON_HANDLE ,OBJECT_PROC_MUST_BE_WIN32 ,_OBSOLETE_NON_OI_16BIT_CALLBACK ,NON_OI_TOPLEVEL_FLOAT ,CTXT_HDL_MUST_BE_DIRECT_RETURN ,OBJECT_PROC_NON_HRESULT_RETURN ,DUPLICATE_UUID ,ILLEGAL_INTERFACE_DERIVATION ,ILLEGAL_BASE_INTERFACE ,IID_IS_EXPR_NON_POINTER ,CALL_AS_NON_LOCAL_PROC ,CALL_AS_UNSPEC_IN_OBJECT ,ENCODE_AUTO_HANDLE ,RPC_PROC_IN_ENCODE ,ENCODE_CONF_OR_VAR ,CONST_ON_OUT_PARAM ,CONST_ON_RETVAL ,INVALID_USE_OF_RETVAL ,MULTIPLE_CALLING_CONVENTIONS ,INAPPROPRIATE_ON_OBJECT_PROC ,NON_INTF_PTR_PTR_OUT ,CALL_AS_USED_MULTIPLE_TIMES ,OBJECT_CALL_AS_LOCAL ,CODE_NOCODE_CONFLICT ,MAYBE_NO_OUT_RETVALS ,FUNC_NON_POINTER ,FUNC_NON_RPC ,NON_OI_RETVAL_64BIT ,MISMATCHED_PRAGMA_POP ,WRONG_TYPE_IN_STRING_STRUCT ,NON_OI_NOTIFY ,HANDLES_WITH_OBJECT ,NON_ANSI_MULTI_CONF_ARRAY ,NON_OI_UNION_PARM ,OBJECT_WITH_VERSION ,SIZING_ON_FIXED_ARRAYS ,PICKLING_INVALID_IN_OBJECT ,TYPE_PICKLING_INVALID_IN_OSF ,_OBSOLETE_INT_NOT_SUPPORTED_ON_INT16 ,BSTRING_NOT_ON_PLAIN_PTR ,INVALID_ON_OBJECT_PROC ,INVALID_ON_OBJECT_INTF ,STACK_TOO_BIG ,NO_ATTRS_ON_ACF_TYPEDEF ,NON_OI_WRONG_CALL_CONV ,TOO_MANY_DELEGATED_PROCS ,_OBSOLETE_NO_MAC_AUTO_HANDLES ,ILLEGAL_IN_MKTYPLIB_MODE ,ILLEGAL_USE_OF_MKTYPLIB_SYNTAX ,ILLEGAL_SU_DEFINITION ,INTF_EXPLICIT_PTR_ATTR ,_OBSOLETE_NO_OI_ON_MPPC ,ILLEGAL_EXPRESSION_TYPE ,ILLEGAL_PIPE_TYPE ,REQUIRES_OI2 ,ASYNC_REQUIRES_OI2 ,CONFLICTING_OPTIMIZATION_REQUIREMENTS ,ILLEGAL_PIPE_EMBEDDING ,ILLEGAL_PIPE_CONTEXT ,CMD_REQUIRES_I2 ,REQUIRES_I2 ,CMD_REQUIRES_NT40 // unused: needed to get fix MSDN error numbers ,CMD_REQUIRES_NT351 // unused: needed to get fix MSDN error numbers ,REQUIRES_NT40 // unused: needed to get fix MSDN error numbers ,REQUIRES_NT351 // unused: needed to get fix MSDN error numbers ,CMD_OI1_PHASED_OUT ,CMD_OI2_OBSOLETE ,OI1_PHASED_OUT ,OI2_OBSOLETE ,ODL_OLD_NEW_OBSOLETE ,ILLEGAL_ARG_VALUE ,CONSTANT_TYPE_MISMATCH ,ENUM_TYPE_MISMATCH ,UNSATISFIED_FORWARD ,CONTRADICTORY_SWITCHES ,NO_SWITCH_IS_HOOKOLE ,NO_CASE_EXPR ,USER_MARSHAL_IN_OI ,PIPES_WITH_PICKLING ,PIPE_INTF_PTR_PTR ,IID_WITH_PIPE_INTF_PTR ,INVALID_LOCALE_ID ,CONFLICTING_LCID ,ILLEGAL_IMPORTLIB ,INVALID_FLOAT ,INVALID_MEMBER ,POSSIBLE_INVALID_MEMBER ,INTERFACE_PIPE_TYPE_MISMATCH ,PIPE_INCOMPATIBLE_PARAMS ,ASYNC_NOT_IN ,OBJECT_ASYNC_NOT_DOUBLE_PTR ,ASYNC_INCORRECT_TYPE ,INTERNAL_SWITCH_USED ,ASYNC_INCORRECT_BINDING_HANDLE ,ASYNC_INCORRECT_ERROR_STATUS_T ,NO_LIBRARY ,INVALID_TYPE_REDEFINITION ,NOT_VARARG_COMPATIBLE ,TOO_MANY_PROCS_FOR_NT4 ,TOO_MANY_PROCS ,OBSOLETE_SWITCH ,CANNOT_INHERIT_IADVISESINK ,DEFAULTVALUE_NOT_ALLOWED ,_OBSOLETE_INVALID_TLB_ENV ,WARN_TYPELIB_GENERATION ,OI_STACK_SIZE_EXCEEDED ,ROBUST_REQUIRES_OICF ,INCORRECT_RANGE_DEFN ,ASYNC_INVALID_IN_OUT_PARAM_COMBO ,_OBSOLETE_PLATFORM_NOT_SUPPORTED ,OIC_SUPPORT_PHASED_OUT ,ROBUST_PICKLING_NO_OICF ,_OBSOLETE_OS_SUPPORT_PHASING_OUT ,CONFLICTING_ATTRIBUTES ,NO_CONTEXT_HANDLE ,FORMAT_STRING_LIMITS ,EMBEDDED_OPEN_STRUCT ,STACK_SIZE_TOO_BIG ,WIN64_INTERPRETED ,ARRAY_ELEMENT_TOO_BIG ,INVALID_USE_OF_LCID ,PRAGMA_SYNTAX_ERROR ,INVALID_MODE_FOR_INT3264 ,UNSATISFIED_HREF ,ASYNC_PIPE_BY_REF ,STACK_FRAME_SIZE_EXCEEDED ,INVALID_ARRAY_ELEMENT ,DISPINTERFACE_MEMBERS ,LOCAL_NO_CALL_AS ,MULTI_DIM_VECTOR ,NETMON_REQUIRES_OICF ,NO_SUPPORT_IN_TLB ,NO_OLD_INTERPRETER_64B ,SWITCH_NOT_SUPPORTED_ANYMORE ,SPAWN_ERROR ,BAD_CMD_FILE // new oleautomation attribute sequencing error/warning ,INAPPLICABLE_OPTIONAL_ATTRIBUTE ,DEFAULTVALUE_WITH_OPTIONAL ,OPTIONAL_OUTSIDE_LIBRARY ,LCID_SHOULD_BE_LONG ,INVALID_PROP_PARAMS ,COMMFAULT_PICKLING_NO_OICF ,INCONSIST_VERSION ,NO_INTERMEDIATE_FILE ,FAILED_TO_GENERATE_PARAM ,FAILED_TO_GENERATE_FIELD ,FORMAT_STRING_OFFSET_IS_ZERO ,TYPE_OFFSET_IS_ZERO ,SAFEARRAY_NOT_SUPPORT_OUTSIDE_TLB ,FAILED_TO_GENERATE_BIT_FIELD ,PICKLING_RETVAL_FORCING_OI ,PICKLING_RETVAL_TO_COMPLEX64 ,WIRE_HAS_FULL_PTR ,WIRE_NOT_DEFINED_SIZE ,INVALID_USE_OF_PROPGET ,UNABLE_TO_OPEN_CMD_FILE ,IN_TAG_WITHOUT_IN ,OUT_TAG_WITHOUT_OUT ,NO_TAGS_FOR_IN_CSTYPE ,NO_TAGS_FOR_OUT_CSTYPE ,CSCHAR_EXPR_MUST_BE_SIMPLE ,SHARED_CSCHAR_EXPR_VAR ,MSCDECL_INVALID_ALIGN ,DECLSPEC_ALIGN_IN_LIBRARY ,ENCAP_UNION_ARM_ALIGN_EXCEEDS_16 ,ILLEGAL_MODIFIERS_BETWEEN_SEUKEYWORD_AND_BRACE ,TYPE_NOT_SUPPORTED ,UNSPECIFIED_EMBEDDED_REPRESENT_AS_NOT_SUPPORTED ,INVALID_PACKING_LEVEL ,RETURNVAL_TOO_COMPLEX_FORCE_OS ,NO_CONFORMANT_CSCHAR ,NO_MULTIDIM_CSCHAR ,BYTE_COUNT_IN_NDR64 ,SIZE_EXCEEDS_2GB ,ARRAY_DIMENSIONS_EXCEEDS_255 ,UNSPECIFIED_REP_OR_UMRSHL_IN_NDR64 ,ASYNC_NDR64_ONLY ,UNSUPPORT_NDR64_FEATURE ,UNSUPPORTED_LARGE_GENERIC_HANDLE ,OS_IN_NDR64 ,UNEXPECTED_OS_IN_NDR64 ,NDR64_ONLY_TLB ,PARTIAL_IGNORE_IN_OUT ,PARTIAL_IGNORE_UNIQUE ,PARTIAL_IGNORE_PICKLING ,PARTIAL_IGNORE_NO_OI ,PARTIAL_IGNORE_IN_TLB ,CORRELATION_DERIVES_FROM_IGNORE_POINTER ,OUT_ONLY_FORCEALLOCATE ,FORCEALLOCATE_ON_PIPE ,FORCEALLOCATE_SUPPORTED_IN_OICF_ONLY ,INVALID_FEATURE_FOR_TARGET ,SAFEARRAY_IF_OUTSIDE_LIBRARY ,OLEAUT_NO_CROSSPLATFORM_TLB ,INVALID_PROPPUT ,UNSIZED_PARTIAL_IGNORE ,NOT_DUAL_INTERFACE ,NEWLYFOUND_INAPPLICABLE_ATTRIBUTE ,WIRE_COMPAT_WARNING ,INVALID_VOID_IN_DISPINTERFACE ,ACF_IN_OBJECT_INTERFACE ,CONF_BY_VALUE ,TOP_LEVEL_POINTER_RANGE ,POINTER_TO_RANGE ,OUT_PIPE_INCOMPATIBLE_PARAMS ,C_ERR_MAX // advice messages ,A_ERR_START = A_ERROR_BASE ,A_ERR_MAX // internal errors ,I_ERR_START = I_ERROR_BASE ,I_ERR_NO_PEER = I_ERR_START // no more peers(siblings) ,I_ERR_NO_MEMBER // no more members(children) ,I_ERR_SYMTABLE_UNDERFLOW // symbol table underflow ,I_ERR_NULL_OUT_PARAM ,I_ERR_SYMBOL_NOT_FOUND ,I_ERR_NO_NEXT_SCOPE ,I_ERR_NO_PREV_SCOPE ,I_ERR_INVALID_NODE_TYPE ,I_ERR_UNEXPECTED_INTERNAL_PROBLEM // from exception handler in main }; typedef enum _status_t STATUS_T; #define INDEX_D_ERROR() (0) #define INDEX_C_ERROR() (D_ERR_MAX - D_ERR_START) #define INDEX_A_ERROR() (C_ERR_MAX - C_ERR_START) + (D_ERR_MAX - D_ERR_START) #define INDEX_I_ERROR() (A_ERR_MAX - A_ERR_START) + (C_ERR_MAX - C_ERR_START) + (D_ERR_MAX - D_ERR_START); #define NOWARN (0) #define WARN_LEVEL_MAX (4) #ifdef RPCDEBUG #define CHECK_ERR(n) n, #else // RPCDEBUG #define CHECK_ERR(n) #endif // RPCDEBUG extern void RpcError(char *, short, STATUS_T , char *); extern void ParseError( STATUS_T , char *); extern void IncrementErrorCount(); // semi-digested error information class ErrorInfo { public: struct errdb * pErrorRecord; STATUS_T ErrVal; ErrorInfo( STATUS_T ErrVal ); int IsRelevant(); void ReportError( char * pszFileName, short Line, char * suffix ); }; #endif // __ERRORS_HXX__