sdaiGetAggrByIterator

...

Syntax

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

[DllImport(IFCEngineDLL, EntryPoint = "sdaiGetAggrByIterator")]
public static extern Int32 sdaiGetAggrByIterator(int_t iterator, int_t valueType, out bool value);

[DllImport(IFCEngineDLL, EntryPoint = "sdaiGetAggrByIterator")]
public static extern Int32 sdaiGetAggrByIterator(int_t iterator, int_t valueType, out int_t value);

[DllImport(IFCEngineDLL, EntryPoint = "sdaiGetAggrByIterator")]
public static extern Int32 sdaiGetAggrByIterator(int_t iterator, int_t valueType, out double value);

[DllImport(IFCEngineDLL, EntryPoint = "sdaiGetAggrByIterator")]
public static extern Int32 sdaiGetAggrByIterator(int_t iterator, int_t valueType, out IntPtr value);

public static Int32 sdaiGetAggrByIterator(int_t iterator, int_t valueType, out string value)
        {
            value = null;
            valueType = getStringType(valueType);
            if (valueType != 0)
            {
                IntPtr ptr = IntPtr.Zero;
                var ret = sdaiGetAggrByIterator(iterator, valueType, out ptr);
                if (ret != 0 && ptr != IntPtr.Zero)
                {
                    value = marshalPtrToString(valueType, ptr);
                    return ret;
                }
            }
            return 0;
        }    

Property iterator

Size: 32 bit / 4 byte (value)
...

Property valueType

Size: 32 bit / 4 byte (value)
...

Property value

Size: 32 bit / 4 byte (reference)
...