Result¶
-
typedef unsigned int
LxResult
¶ Our error codes are part of the SDK since they are exposed to end clients. This is convenient since it allows us to signal events directly back and forth efficiently. It doesn’t hurt that our definition of LxResult matches exactly the COM definition of HRESULT, right down to the pattern of bits and the values of those bits. The LxResult datatype corresponds to an HRESULT in the COM standard. This is the return code used for any method that may fail.
-
LXe_FAILED
¶ These macros define and test the bit patterns in result codes. Failure codes have the high bit set. LXx_FAIL and LXx_OK only test the result once, so can be wrapped around function calls. LXx_OKNI tests twice so needs a cached result.
LXxGOODCODE
LXxFAILCODE
LXx_FAIL
LXx_OK
LXx_OKNI
-
LXxRC2BOOL
(r)¶ True and false are encoded as LxResult codes which have a different sense than C/C++ booleans. These macros can be used to convert.
LXxBOOL2RC
-
LXe_OK
¶ These pre-defined error codes mostly match the COM definitions for common codes. Some of them are specific to the nexus COM implementation.
LXe_TRUE
LXe_FALSE
LXe_INFO
LXe_WARNING
LXe_NOTIMPL
LXe_OUTOFMEMORY
LXe_INVALIDARG
LXe_NOINTERFACE
LXe_NOTSUPPORTED
LXe_ABORT
LXe_NOACCESS
LXe_OUTOFBOUNDS
LXe_NOTFOUND
LXe_STARTUP
LXe_DISABLED
LXe_CKPTOVERFLOW
LXe_ALREADYEXISTS
LXe_NOTAVAILABLE
LXe_CRASH
LXe_SHORTBUFFER
LXe_NOTREADY
LXe_MAINTHREADONLY
-
LXeSYS_IO
¶ Nexus subsystems each have an assigned range of exception codes defined here. This acts as a clearinghouse for codes so that different usages will not conflict.
LXeSYS_PLUG
LXeSYS_IMAGE
LXeSYS_OPAL1
LXeSYS_OPAL2
LXeSYS_FONT
LXeSYS_ADISP
LXeSYS_AWIN
LXeSYS_CMDS
LXeSYS_IMSG
LXeSYS_COMP
LXeSYS_ITEM
LXeSYS_MESH
LXeSYS_BOOT
LXeSYS_FRAME
LXeSYS_REND
LXeSYS_SCRIPT
LXeSYS_QUERY
LXeSYS_UIIMAGE
LXeSYS_INPUTMAP
LXeSYS_AFILE
LXeSYS_LOG
LXeSYS_VALUE
LXeSYS_NETWORK
LXeSYS_RENDER
LXeSYS_EVAL
LXeSYS_DEFORM
LXeSYS_MT
LXeSYS_PREVIEW
LXeSYS_PSYS
LXeSYS_UNDO