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