SEDRIS Reference Manual
APPENDIX A - Transmittal Access Level 0 API
Functions
SE GetFields
extern SE_Return_Code
SE_GetFields
(
SE_Object  object,1
SE_Store  store_in,2
SE_FIELDS_PTR  *fields3
);

Definition

Retrieves a pointer to the field data of an object. The SE_DRM_Class_Fields data structure is a union of all the different field structures from all the different classes. This all-inclusive union and the structures that compose it are defined in the "sedris.h" file. The memory required to store the fields structure well as any memory referenced by pointers within the fields structure are allocated within a store that is provided by the caller. The returned data is valid until the store is used in another API call, or the store is freed with the SE_FreeStore() function. See the comments for the function SE_CreateStore() for details on the function and behavior of stores.

WARNING: Because some of the fields contained in the union portion of the SE_DRM_Class_Fields structure are pointers to dynamically allocated memory, it is HIGHLY INADVISABLE to use a member-wise structure copy in order to duplicate the SE_DRM_Class_Fields structure. In order to reliably duplicate this data, developers should use the SE_CloneFields() function.


Returns

SE_RETCOD_SUCCESS and the requested fields are returned
SE_RETCOD_FAILURE and the status code is set appropriately if the call failed.

Status Codes

SE_Status_Code(s) when SE_RETCOD_SUCCESS is returned:

SE_STATCODE_SUCCESS set if valid parameters were passed in and all operations succeeded.

SE_Status_Code(s) when SE_RETCOD_FAILURE is returned:

SE_STATCODE_UNRESOLVED_OUTPUT_OBJECT set if object is an unresolved object (see SE_Object's comments for details on how this condition occurs).
SE_STATCODE_C_STORE_INVALID set if store_in is not a handle to a valid SE_Store.
SE_STATCODE_INACTIONABLE_FAILURE set if the call fails for any other reason.

Parameters Notes

1 the object whose fields are desired.

2 the store to be used to allocate the SE_DRM_Class_Fields structure as well as any dynamically allocated data within it.

3 a pointer to the variable in the user's memory where an SE_FIELDS_PTR will be copied. This SE_FIELDS_PTR will point to the fields of the object, in the API's memory space associates with store_in. Do *not* free any data pointed to by this pointer. Do *not* free this pointer. Instead, call SE_FreeStore() for the store_in, or use the store_in in another function that returns data.


Prev: SE_GetEncoding. Next: SE_GetImageData. Up:Index.