In case an XML file is loaded the XML ID values are kept in memory and can be retrieved through this API call


public const string ifcenginedll = @"ifcengine.dll";

[DllImport(IFCEngineDLL, EntryPoint = "internalGetXMLID")]
public static extern IntPtr internalGetXMLID(int_t instance, out IntPtr XMLID);

public static string internalGetXMLID(int_t instance)
            IntPtr XMLID = IntPtr.Zero;
            internalGetXMLID(instance, out XMLID);
            return System.Runtime.InteropServices.Marshal.PtrToStringAnsi(XMLID);

Property instance

Size: 64 bit / 8 byte (value)

Property XMLID

Size: 64 bit / 8 byte (reference)