Function Name: Get Data Table Signature

Definition

Retrieves the Table Property Descriptions of the Data Table, calculates the element_count per cell, and retrieves the arrays used to specify selected elements and components.

Memory allocated by this function should be freed via SE_FreeDataTableSignature().

Returns

SE_SUCCESS - and the output parameters are set to the appropriate values, if valid parameters were passed in and all operations succeed.

SE_NULL_REQUIRED_PARAMETER - and no changes are made, if

  1. element_count_out_ptr is NULL, or
  2. element_array_out_ptr is NULL, or
  3. component_array_out_ptr is NULL but required.

SE_INVALID_OR_NULL_OBJECT - if data_table is not a valid . In this case, *element_count_out_ptr is set to zero, *element_array_out_ptr is set to NULL, *prop_array_out_ptr is set to NULL if provided, and *component_array_out_ptr is set to NULL if provided.

SE_OUT_OF_MEMORY - and the output parameters are set as for SE_INVALID_OR_NULL_OBJECT, if memory allocation failed.

SE_UNRESOLVED_START_OBJECT - and the output parameters are set as for SE_INVALID_OR_NULL_OBJECT, if data_table is an unresolved SEDRIS object.

SE_UNRESOLVED_OBJECT - and the output parameters are set as for SE_INVALID_OR_NULL_OBJECT, if an unresolved object was encountered and could not be resolved.

SE_FAILURE - and the output parameters are set as for SE_INVALID_OR_NULL_OBJECT, if fields can't be retrieved for a Table Property Description.

Prototype


extern SE_STATUS_CODE_ENUM
SE_GetDataTableSignature
(
SE_OBJECT data_table, (notes)
SE_UINT32 *element_count_out_ptr, (notes)
SE_TABLE_PROPERTY_DESCRIPTION_FIELDS **prop_array_out_ptr, (notes)
EDCS_AC_ID **element_array_out_ptr, (notes)
EDCS_CC_ID **component_array_out_ptr (notes)
);

Parameters Notes

data_table

 the <Data Table> whose signature is being retrieved.

element_count_out_ptr

 pointer to a variable in the user's memory space, which is set to
 the number of elements per cell (and which is also the size of the
 3 arrays that follow).

prop_array_out_ptr

 pointer to an array of element_count <Table Property Description>
 fields, one for each element of a cell.

element_array_out_ptr

 pointer to the array of selected elements being set.

component_array_out_ptr

 pointer to the array of selected_components[] being set;
 *component_array_out_ptr[i] is ignored unless
 *element_array_out_ptr[i] == EDCS_AC_INDEX_TO_COMPONENT or
 EDCS_AC_INDEX_TO_LIBRARY, in which case *component_array_out_ptr[i] is
 used to distinguish multiple EDCS_AC_INDEX_TO_COMPONENT and/or
 EDCS_AC_INDEX_TO_LIBRARY entries.
    In other words, component_array_out_ptr is a required parameter if
 *element_array_out_ptr has any EDCS_AC_INDEX_TO_COMPONENT and/or
 EDCS_AC_INDEX_TO_LIBRARY entries; otherwise, it is an optional
 parameter.

 If component_array_out_ptr is provided, and no entry in
 element_array_out_ptr refers to a component or library data table,
 then *component_array_out_ptr is set to NULL. Otherwise, if a
 particular *element_array_out_ptr[i] does not refer to a component or
 library data table, then *component_array_out_ptr[i] is set to
 EDCS_CC_NULL.

Prev: Get Data Table Max Extents. Next: Get Ending Node For Edge. Up:Index.