IN: The identifier of the type to which the new ID will belong
IN: Pointer to memory for the library to store
H5I_REGISTER allocates space for a new ID and returns an identifier for it.
The type parameter is the identifier for the ID type to which this new ID will belong. This identifier must have been created by a call to H5I_REGISTER_TYPE.
The object parameter is a pointer to the memory which the new ID will be a reference to. This pointer will be stored by the library and returned to you via a call to H5I_OBJECT_VERIFY.
Programming Note for C++ Developers Using C Functions:
If a C routine that takes a function pointer as an argument is called from within C++ code, the C routine should be returned from normally.
Examples of this kind of routine include callbacks such as H5P_SET_ELINK_CBand H5P_SET_TYPE_CONV_CB and functions such as H5T_CONVERT and H5E_WALK2 .
Exiting the routine in its normal fashion allows the HDF5 C library to clean up its work properly. In other words, if the C++ application jumps out of the routine back to the C++ “catch” statement, the library is not given the opportunity to close any temporary data structures that were set up when the routine was called. The C++ application should save some state as the routine is started so that any problem that occurs might be diagnosed.
Returns the new ID on success, negative on failure.