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 | * | fields | 3 |
); |
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.
SE_RETCOD_SUCCESS | and the requested fields are returned |
SE_RETCOD_FAILURE | and the status code is set appropriately if the call failed. |
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. |
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.
|