xxxxGetAttrNameByIndex

...

Syntax

public const string enginedll = @"engine.dll";

[DllImport(enginedll, EntryPoint = "xxxxGetAttrNameByIndex")]
public static extern IntPtr x86_xxxxGetAttrNameByIndex(Int32 instance, Int32 index, out IntPtr name);

[DllImport(enginedll, EntryPoint = "xxxxGetAttrNameByIndex")]
public static extern IntPtr x64_xxxxGetAttrNameByIndex(Int64 instance, Int64 index, out IntPtr name);

public static IntPtr xxxxGetAttrNameByIndex(Int64 instance, Int64 index, out IntPtr name)
		{
			if (IntPtr.Size == 4)
			{
				var _result = x86_xxxxGetAttrNameByIndex((Int32)instance, (Int32)index, out IntPtr _name);
				name = _name;
				return _result;
			}
			else
			{
				return x64_xxxxGetAttrNameByIndex(instance, index, out name);
			}
		}    

Property instance

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

Property index

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

Property name

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