SEDRIS Reference Manual
APPENDIX A - Transmittal Access Level 0 API Types SE_Store |
---|
/* * TYPEDEF: SE_Store * * Pointer to a store object. The definition of a store object is * hidden by the implementation of this API. The user of this API simply * passes in and receives back an SE_Store for functions that deal * with store objects. * * A store is an opaque data type, created by calling SE_CreateStore(), * which is used to provide the memory context within which the API returns * data. The behavior of stores, and the data returned within them, * exhibits the following: * * 1. A store must be created by SE_CreateStore() before it is used. * 2. Data returned in a store is valid until the next time the store is * used as a parameter to a function, or until the application frees * the store with SE_FreeStore(). * 3. Memory managed by a store is not guaranteed to be released (freed) * until the store is free with SE_FreeStore(). * * The implementation of the API is at liberty to decide the exact * allocation scheme. However, applications should safely expect the * following performance characteristics: * * 1. Reusing an existing store should always be more efficient (both in * speed and memory requirements) than freeing a store and creating a * new one. * 2. Reusing a store to return similarly sized data (for example * object fields, or portions of a <Data Table> instance), will * result in the most efficient use of memory space. * * Use of stores in the SEDRIS API is limited to functions that return * complex data types, specifically those that involve variable, or dynamic * length data (such as strings and arrays), and other structures that * contain other pointer data types. Atomic data types (such as * SE_Short_Integer_Unsigned, SE_Long_Float) and opaque handle types * (such as SE_Object) use pointer types and address of (&) in order to * return data from the API. */typedef void *SE_Store;
|