I am doing a binding to a Dll Using Win32 binding and I have a problem with functions having reference parameters (an C array). �How must I declare those parameters? (ada functions doesn't allow out parameters) One example: Dll fucntion is declared as : _API_EXTERN AiInt16 _API_DLL_FUNC ApiCmdBite (AiUInt8 bModule, AiUInt8 biu, AiUInt8 sc, AiUInt8 bite_status[]); And I declare: subtype UCHAR is Interfaces.C.unsigned_char; type UCHAR_Array2 is array (0 .. 1) of aliased UCHAR; function ApiCmdBite ( bModule : My_Win32.UCHAR; biu : My_Win32.UCHAR; sc : My_Win32.UCHAR; bite_status : My_Win32.UCHAR_Array2 ) return My_Win32.SHORT; However I get a warning: "bite_status" is never assigned a value, calling the fucntion. Obvius It needs to be done otherwise! Could you enlight me please? I have tried to pass the parameter as bite_status : Interfaces.C.unsigned_char'Address but I get the error: attribute "Address" may not be used in a subtype mark I should be able to use for example: 'bite_status(0) := 1;' or 'if (bite_status(1) == 2)'