| 
      
    | 
   
Create a new DOFObjectID by augmenting an existing DOFObjectID with specified Attribute type and a DOFObjectID.  
- Resource Management:
 - This function allocates resources that must later be freed by calling DOFObjectID_Destroy. 
  
- Note
 - This function stores Attributes in increasing numerical order by type, as required by the protocol specification. 
  
- Parameters
 - 
  
    | self | The original DOFObjectID, which remains unchanged. This should not be NULL.  |  
    | type | The ID of the new Attribute. See DOFObjectIDAttributeType. Valid numeric range is 0 <= type <= 127.  |  
    | objectID | The new Attribute's data as a DOFObjectID. This should not be NULL, and the total length of the object ID (in byte form, see DOFObjectID_GetBytesSize) should be 255 bytes or less. The data must be appropriate for the given attribute type.  |  
   
   
 
- Returns
 - The new DOFObjectID. 
  
- Exceptions
 - 
  
    | NULL | is returned if
- an invalid parameter is detected; or
 
- the existing objectID already contains an Attribute with the same type; or
 
- insufficient resources exist to create the DOFObjectID. 
 
 
 |  
   
   
 
 
 
     |