Creates a reference symbol that uses a block of data in some user-defined structure as identifying symbolic information, and provides a comparison-function pointer for that type of user-defined data.
This reference symbol can be used in SE_AddSymbolicComponent() and/or SE_AddSymbolicAssociate() either before or after being assigned to an object with SE_AssignReferenceSymbolToObject(). This allows a user to create an object's relationships without keeping the object in memory for a prolonged period of time.
NOTES:
SE_NULL_REQUIRED_PARAMETER - and no changes are made, if symbol_ptr_in, comp_func_ptr, or ref_symbol_out_ptr is NULL.
SE_DUPLICATE_REFERENCE_SYMBOL - and *ref_symbol_out_ptr is set to NULL, if the reference symbol has been created previously.
SE_OUT_OF_MEMORY - and *ref_symbol_out_ptr is set to NULL, if the reference symbol could not be allocated.
SE_FAILURE - and *ref_symbol_out_ptr is set to NULL, if the API implementation specified does not provide this function in its shared library, and dynamic binding is specified at compile time.
| extern SE_STATUS_CODE_ENUM | ||||
| SE_CreateReferenceSymbolFromUserData | ||||
| ( | ||||
| const | char | implementation_identifier[], | (notes) | |
| const | void | * | symbol_ptr_in, | (notes) |
| SE_REFERENCE_SYMBOL_COMPARE_FUNCTION_PTR | comp_func_ptr, | (notes) | ||
| SE_REFERENCE_SYMBOL | * | ref_symbol_out_ptr | (notes) | |
| ); | ||||
identifies the API implementation
to use when creating this reference symbol. If the specified API can't
create the reference symbol, then the API will return a status code
indicating why it could not be created. If implementation_identifier is
NULL, then the API implementation to be used must be statically bound at
compile time.
See also SE_GetImplementationIdentifier().
a pointer to a block of data in some user-defined
structure, to be used as a unique identifier for the reference symbol
being created.
a pointer to a user-defined function that compares
two blobs of user data (using whatever data structure was used for
symbol_ptr_in).
pointer to a variable, passed in by the user,
in which a handle to the reference symbol being created will be placed.