704 lines
20 KiB
C++
704 lines
20 KiB
C++
/*****************************************************************************/
|
|
/** 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
|
|
|
|
,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__
|
|
|