mirror of https://github.com/tongzx/nt5src
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.
260 lines
11 KiB
260 lines
11 KiB
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/****************************************************************************\
|
|
* *
|
|
* MVERROR.H *
|
|
* *
|
|
* Copyright (C) Microsoft Corporation 1993 - 1994. *
|
|
* All Rights reserved. *
|
|
* *
|
|
******************************************************************************
|
|
* *
|
|
* Module Intent: *
|
|
* Defines constants used as error codes. *
|
|
* *
|
|
\****************************************************************************/
|
|
|
|
#ifndef ERRB_DEFINED
|
|
#define ERRB_DEFINED
|
|
|
|
/*************************************************************************
|
|
* Error management.
|
|
*************************************************************************/
|
|
typedef WORD ERR; // Use this for internal & external errors
|
|
typedef ERR RC; // This should be phased out
|
|
typedef WORD HCE; // User errors
|
|
typedef WORD EP; // Error Phase
|
|
|
|
/*************************************************************************
|
|
*
|
|
* CALLBACK FUNCTIONS PROTOTYPES
|
|
*
|
|
* User callback functions are needed in case:
|
|
* - The application needs to support interrupt
|
|
* - The application needs to display error messages its way
|
|
* - The application needs to know the status of the process
|
|
*************************************************************************/
|
|
typedef ERR (FAR PASCAL *ERR_FUNC) (DWORD dwFlag, LPVOID pUserData, LPVOID pMessage);
|
|
|
|
/*************************************************************************
|
|
* Call back structure
|
|
* Contains information about all callback functions
|
|
*************************************************************************/
|
|
|
|
#define ERRFLAG_INTERRUPT 0x01 // The processes should be cancelled
|
|
#define ERRFLAG_STATUS 0x02 // High-level status messages
|
|
#define ERRFLAG_STATUS_VERBOSE 0x04 // Low-level status messages
|
|
#define ERRFLAG_ERROR 0x08 // Warning & Error messages
|
|
#define ERRFLAG_STRING 0x10 // Debug string messages
|
|
|
|
typedef struct fCallBack_msg
|
|
{
|
|
ERR_FUNC MessageFunc;
|
|
LPVOID pUserData;
|
|
DWORD dwFlags;
|
|
} FCALLBACK_MSG, FAR * PFCALLBACK_MSG;
|
|
|
|
// Error Phase values
|
|
#define epNoFile 0
|
|
#define epLine 1
|
|
#define epTopic 2
|
|
#define epOffset 3
|
|
#define epMVBtopic 4
|
|
#define epAliasLine 5
|
|
#define epByteOffset 6
|
|
|
|
// ***********************************************************************
|
|
// This structure should be filled out and passed back in the case of
|
|
// an error.
|
|
// ***********************************************************************
|
|
typedef struct
|
|
{
|
|
LPCSTR pchFile;
|
|
LONG iLine;
|
|
DWORD iTopic;
|
|
DWORD fCustom; // If true then var1 is LPCSTR to custom error message
|
|
DWORD var1, var2, var3; // Error parameters
|
|
|
|
EP ep; // Error Phase
|
|
HCE errCode;
|
|
} ERRC, FAR *PERRC;
|
|
|
|
#define CALLBACKKEY 0x524A4A44
|
|
|
|
typedef struct
|
|
{
|
|
DWORD_PTR dwReserved;
|
|
DWORD dwKey;
|
|
FCALLBACK_MSG Callback;
|
|
} CUSTOMSTRUCT, FAR *PCUSTOMSTRUCT;
|
|
|
|
/*************************************************************************
|
|
* Error management.
|
|
*************************************************************************/
|
|
|
|
/******************************************
|
|
* Error structure. For internal use only
|
|
******************************************/
|
|
|
|
typedef struct
|
|
{
|
|
ERR err; // Error code.
|
|
LONG iUser; // Whatever you want.
|
|
BYTE *aszFile; // Source file that caught an error.
|
|
DWORD cLine; // Source line at which the failure took place.
|
|
} ERRB, FAR *LPERRB;
|
|
|
|
#define GetErrCode(lperrb) ((lperrb)->err)
|
|
|
|
ERR EXPORT_API PASCAL FAR SetErr (LPERRB lperrb, ERR ErrCode, WORD iUserCode);
|
|
|
|
ERR EXPORT_API CDECL MVSetUserCallback (LPVOID pStruct, PFCALLBACK_MSG pCallback);
|
|
|
|
ERR EXPORT_API PASCAL FAR DebugSetErr (LPERRB lperrb, ERR ErrCode,
|
|
DWORD Line, char FAR *module, WORD iUserCode);
|
|
|
|
HCE EXPORT_API FAR IssueMessage
|
|
(DWORD dwFlag, PFCALLBACK_MSG pCallbackInfo, PERRC perr, HCE hce, ...);
|
|
|
|
void EXPORT_API FAR IssueString
|
|
(PFCALLBACK_MSG pCallback, LPVOID pMessage);
|
|
|
|
#if defined(_DEBUG)
|
|
#define SetErrCode(a,b) DebugSetErr(a, b, __LINE__, (char FAR *)s_aszModule, 0)
|
|
#else
|
|
#define SetErrCode(a,b) SetErr(a, b, 0)
|
|
#endif
|
|
|
|
#endif // ERRB_DEFINED
|
|
|
|
/* End of internal usage */
|
|
|
|
// MAX size of an error string in the resource file.
|
|
#define MAX_ERROR_MSG 256
|
|
|
|
/************************************
|
|
* Error Constants
|
|
*************************************/
|
|
|
|
/* General errors */
|
|
#ifndef SUCCEED // already defined in sqlfront.h, used by mos
|
|
#define SUCCEED 0
|
|
#endif
|
|
|
|
#ifndef FAIL
|
|
#define FAIL 1
|
|
#endif
|
|
|
|
#define ERR_NONE 0
|
|
#define ERR_SUCCESS 0
|
|
|
|
#define ERR_OODC 1002 // Out of Display Contexts
|
|
#define ERR_NOTITLE 1003
|
|
#define ERR_INVALID 1004 // Invalid file
|
|
#define ERR_NOTOPIC 1005
|
|
#define ERR_BADPRINT 1006
|
|
#define ERR_BADFILE 1007
|
|
#define ERR_OLDFILE 1008
|
|
#define ERR_BUFOVERFLOW 1009
|
|
#define ERR_FSREADWRITE 1010
|
|
#define ERR_FCENDOFTOPIC 1011
|
|
#define ERR_BADPARAM 1012
|
|
#define ERR_NOFONTCHANGE 1013
|
|
#define ERR_NOMOREHOTSPOTS 1014
|
|
#define ERR_BADEWWINCLASS 1015
|
|
#define ERR_PARTIAL 1016
|
|
#define ERR_NOADDRESS 1017
|
|
#define ERR_NORECTANGLE 1018
|
|
#define ERR_NOVSCROLL 1019 // No Vertical Scrollbar
|
|
#define ERR_NOHSCROLL 1020 // No Horizontal Scrollbar
|
|
#define ERR_CANTFINDDLL 1021
|
|
#define ERR_CANTUSEDLL 1022
|
|
#define ERR_EWOOM 1023 // Embedded Window Out Of Memory
|
|
#define ERR_DEBUGMISMATCH 1024
|
|
#define ERR_BADPOLYGON 1025 // less than 3 pts or none passed
|
|
#define ERR_BADEWCALLBACK 1026
|
|
#define ERR_OLDFONTTABLE 1027
|
|
#define ERR_NOSUCHSTYLE 1028
|
|
#define ERR_GROUPIDTOOBIG 1029
|
|
#define ERR_NOMOREHIGHLIGHTS 1030
|
|
#define ERR_NOSELECTION 1031
|
|
#define ERR_KEYSELECTFAILED 1032 // may need to scroll MV to work.
|
|
#define ERR_NOTSCROLLED 1033
|
|
#define ERR_NOINDEXLOADED 1034 // search index not loaded
|
|
#define ERR_EWCREATEFAILED 1035 // CreateWindow failed.
|
|
#define ERR_NOWINDOW 1036 // Window not set in LPMV
|
|
#define ERR_OUTOFRANGE 1037
|
|
#define ERR_NOTHINGTOCOPY 1038
|
|
#define ERR_NOTFOUND 1039
|
|
#define ERR_NOTSUPPORTED 1040
|
|
#define ERR_RECURSION 1041 // function is currently executing.
|
|
#define ERR_XAPARATOOBIG 1042
|
|
#define ERR_DUPTITLE 1043 // Duplicate handle in an update list (titleas.c)
|
|
|
|
#define ERR_INTERNAL_BASE 2000
|
|
#define ERR_GRAMMAR_BASE 3000
|
|
|
|
#define ERR_FAILED (ERR_INTERNAL_BASE + 1)
|
|
#define ERR_INTERRUPT (ERR_INTERNAL_BASE + 2)
|
|
#define ERR_NEARMEMORY (ERR_INTERNAL_BASE + 3)
|
|
#define ERR_MEMORY (ERR_INTERNAL_BASE + 4)
|
|
#define ERR_DISKFULL (ERR_INTERNAL_BASE + 5)
|
|
#define ERR_WORDTOOLONG (ERR_INTERNAL_BASE + 6)
|
|
#define ERR_BADVERSION (ERR_INTERNAL_BASE + 7)
|
|
#define ERR_TOOMANYTOPICS (ERR_INTERNAL_BASE + 8)
|
|
#define ERR_TOOMANYSTOPS (ERR_INTERNAL_BASE + 9)
|
|
#define ERR_TOOLONGSTOPS (ERR_INTERNAL_BASE + 10)
|
|
#define ERR_STEMTOOLONG (ERR_INTERNAL_BASE + 11)
|
|
#define ERR_TREETOOBIG (ERR_INTERNAL_BASE + 12)
|
|
#define ERR_CANTREAD (ERR_INTERNAL_BASE + 13)
|
|
#define ERR_IDXSEGOVERFLOW (ERR_INTERNAL_BASE + 14)
|
|
#define ERR_BADARG (ERR_INTERNAL_BASE + 15)
|
|
#define ERR_VOCABTOOLARGE (ERR_INTERNAL_BASE + 16)
|
|
#define ERR_NOTEXIST (ERR_INTERNAL_BASE + 17)
|
|
#define ERR_BADOPERATOR (ERR_INTERNAL_BASE + 18)
|
|
#define ERR_TERMTOOCOMPLEX (ERR_INTERNAL_BASE + 19)
|
|
#define ERR_SEARCHTOOCOMPLEX (ERR_INTERNAL_BASE + 20)
|
|
#define ERR_BADSYSCONFIG (ERR_INTERNAL_BASE + 21)
|
|
#define ERR_ASSERT (ERR_INTERNAL_BASE + 22)
|
|
#define ERR_TOOMANYDUPS (ERR_INTERNAL_BASE + 23)
|
|
#define ERR_INVALID_FS_FILE (ERR_INTERNAL_BASE + 24)
|
|
#define ERR_OUT_OF_RANGE (ERR_INTERNAL_BASE + 25)
|
|
#define ERR_SEEK_FAILED (ERR_INTERNAL_BASE + 26)
|
|
#define ERR_FILECREAT_FAILED (ERR_INTERNAL_BASE + 27)
|
|
#define ERR_CANTWRITE (ERR_INTERNAL_BASE + 28)
|
|
#define ERR_NOHANDLE (ERR_INTERNAL_BASE + 29)
|
|
#define ERR_EXIST (ERR_INTERNAL_BASE + 30)
|
|
#define ERR_INVALID_HANDLE (ERR_INTERNAL_BASE + 31)
|
|
#define ERR_BADFILEFORMAT (ERR_INTERNAL_BASE + 32)
|
|
#define ERR_CANTDELETE (ERR_INTERNAL_BASE + 33)
|
|
#define ERR_NOPERMISSION (ERR_INTERNAL_BASE + 34)
|
|
#define ERR_CLOSEFAILED (ERR_INTERNAL_BASE + 35)
|
|
#define ERR_DUPLICATE (ERR_INTERNAL_BASE + 36)
|
|
|
|
#define ERR_NOMERGEDATA (ERR_INTERNAL_BASE + 37)
|
|
#define ERR_TOOMANYTITLES (ERR_INTERNAL_BASE + 38)
|
|
#define ERR_BADINDEXFLAGS (ERR_INTERNAL_BASE + 39)
|
|
|
|
#define ERR_NULLQUERY (ERR_GRAMMAR_BASE + 0)
|
|
#define ERR_EXPECTEDTERM (ERR_GRAMMAR_BASE + 1)
|
|
#define ERR_EXTRACHARS (ERR_GRAMMAR_BASE + 2)
|
|
#define ERR_MISSQUOTE (ERR_GRAMMAR_BASE + 3)
|
|
#define ERR_MISSLPAREN (ERR_GRAMMAR_BASE + 4)
|
|
#define ERR_MISSRPAREN (ERR_GRAMMAR_BASE + 5)
|
|
#define ERR_TOODEEP (ERR_GRAMMAR_BASE + 6)
|
|
#define ERR_TOOMANYTOKENS (ERR_GRAMMAR_BASE + 7)
|
|
#define ERR_BADFORMAT (ERR_GRAMMAR_BASE + 8)
|
|
#define ERR_BADVALUE (ERR_GRAMMAR_BASE + 9)
|
|
#define ERR_UNMATCHEDTYPE (ERR_GRAMMAR_BASE + 10)
|
|
#define ERR_BADBREAKER (ERR_GRAMMAR_BASE + 11)
|
|
#define ERR_BADRANGEOP (ERR_GRAMMAR_BASE + 12)
|
|
#define ERR_ALL_WILD (ERR_GRAMMAR_BASE + 13)
|
|
#define ERR_NON_LAST_WILD (ERR_GRAMMAR_BASE + 14)
|
|
#define ERR_WILD_IN_DTYPE (ERR_GRAMMAR_BASE + 15)
|
|
#define ERR_STOPWORD (ERR_GRAMMAR_BASE + 16)
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|