# ESS_INIT_T

This structure is passed to the API initialization function EssInit() and contains fields that let API developers customize their usage of the API. If any of the fields of the structure are set to zero (or NULL for pointers), the API defaults are used. (See Using Memory in C Programs for more information.).

    typedef struct ESS_INIT_T
    {
       ESS_ULONG_T  Version;
       ESS_PVOID_T  UserContext;
       ESS_USHORT_T MaxHandles;
       ESS_SIZE_T   MaxBuffer;
       ESS_STR_T    LocalPath;
       ESS_STR_T    MessageFile;
       ESS_PFUNC_T  AllocFunc;
       ESS_PFUNC_T  ReallocFunc;
       ESS_PFUNC_T  FreeFunc;
       ESS_PFUNC_T  MessageFunc;
       ESS_STR_T    HelpFile;
       ESS_ULONG_T  Ess_System;
    } ESS_INIT_T, *ESS_PINIT_T;

Data Type | Field | Description
ESS_ULONG_T | Version | Version of Essbase API used to compile the application. Should be set to ESS_API_VERSION. Used for backward compatibility.
ESS_PVOID_T | UserContext | An optional pointer to a user-defined message context (passed as argument to a user-defined MessageFunction)
ESS_USHORT_T | MaxHandles | The maximum number of simultaneous context handles required by the API program (between 1 and 255). The default is 255. Reducing this number may decrease the amount of client memory used within the API for your program.
ESS_SIZE_T | MaxBuffer | The maximum size buffer that can be allocated in the client program (typically 64 Kbytes). The default is 64 Kbytes.
ESS_STR_T | LocalPath | The default local path name to use for file and object operations on the client. If this is not set, Essbase uses the ARBORPATH environment variable by default, and appends
    \CLIENT
to the directory name passed in. If ARBORPATH is not defined, Essbase uses
    \ARBOR32\CLIENT
.
ESS_STR_T | MessageFile | Qualified path name of the Essbase message database file,
    ESSBASE.MDB
. If this is not set, Essbase first tries to use the fully qualified path in the ARBORMSGPATH environment variable, otherwise, it uses
    (ARBORPATH)\BIN\ESSBASE.MDB
. If ARBORPATH is not defined, an error is returned at run time.
ESS_PFUNC_T | AllocFunc | Pointer to the user-defined memory allocation function. All platforms: memory allocation functions use the malloc() function.
ESS_PFUNC_T | ReallocFunc | Pointer to the user-defined memory reallocation function. All platforms: memory allocation functions use the realloc() function.
ESS_PFUNC_T | FreeFunc | A pointer to the user-defined memory free function. All platforms: memory allocation functions use the free() function.
ESS_PFUNC_T | MessageFunc | A pointer to the user-defined message callback function. Messages sent to the user-defined Callback function are passed to Essbase in EssInit(). Previous to Release 6.2, if a message contained NLS characters (foreign language characters, such as accented characters), Essbase provided them in OEM (DOS) format. In Release 6.2 and later, these messages are completely in character (Windows) format, to avoid the misinterpretation of certain characters. This only affects foreign-language versions of Essbase.
ESS_STR_T | HelpFile | Fully-qualified path name of the user-defined application help file, used for help for the AutoLogin dialog box. The login help context must be defined in the help file. See Integrating Essbase with Your Product. Default:
    $(ARBORPATH)\BIN\ESSAPIW.HLP
. If ARBORPATH is not defined, the help file name is set to null.
ESS_ULONG_T | Ess_System | Reserved for internal use. Set to NULL