VB passes arrays by ref, (pointer to first element), so a generic function could populate the array for you.

You can also use the AddressOf keyword in VB. I'm not sure but I think it allows you to pass Function Pointers. Have a look at Help, I'm off to read up on it now. If no-one else posts I will respond further.