in vb6, i can do this Private Type POINTAPI x As Long y As Long End Type Dim paperNumbers() As Integer Dim paperSizes() As POINTAPI this is what i tried in autoit $struct = DllStructCreate("long x[$result[0]];long y[$result[0]]") but am not getting the desired result am expecting making this dll call $result2 = DllCall("winspool.drv", "long", "DeviceCapabilitiesA", "str", $objPrinter.Name, "str", $objPrinter.PortName, "int", $DC_PAPERNAMES, "ptr", DllStructGetPtr($str