engiGetAttrDerivedBN

This call can be used to check if an attribute is defined schema wise in the context of a certain entity. Technically engiGetAttrDerivedBN will transform into the following call

    engiGetAttrDerived(
            entity,
            sdaiGetAttrDefinition(
                    entity,
                    attributeName
                )
        );

Syntax

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

[DllImport(enginedll, EntryPoint = "engiGetAttrDerivedBN")]
public static extern Int64 x86_engiGetAttrDerivedBN(Int32 entity, string attributeName);

[DllImport(enginedll, EntryPoint = "engiGetAttrDerivedBN")]
public static extern Int64 x64_engiGetAttrDerivedBN(Int64 entity, string attributeName);

public static Int64 engiGetAttrDerivedBN(Int64 entity, string attributeName)
		{
			if (IntPtr.Size == 4)
			{
				var _result = x86_engiGetAttrDerivedBN((Int32)entity, attributeName);
				return _result;
			}
			else
			{
				return x64_engiGetAttrDerivedBN(entity, attributeName);
			}
		}

[DllImport(enginedll, EntryPoint = "engiGetAttrDerivedBN")]
public static extern Int64 x86_engiGetAttrDerivedBN(Int32 entity, byte[] attributeName);

[DllImport(enginedll, EntryPoint = "engiGetAttrDerivedBN")]
public static extern Int64 x64_engiGetAttrDerivedBN(Int64 entity, byte[] attributeName);

public static Int64 engiGetAttrDerivedBN(Int64 entity, byte[] attributeName)
		{
			if (IntPtr.Size == 4)
			{
				var _result = x86_engiGetAttrDerivedBN((Int32)entity, attributeName);
				return _result;
			}
			else
			{
				return x64_engiGetAttrDerivedBN(entity, attributeName);
			}
		}    

Property entity

Size: 64 bit / 8 byte (value)
...

Property attributeName

Size: 64 bit / 8 byte (reference)
...