public static List <VehicleScapeAPI.Device> GetDevices()
        {
            List <VehicleScapeAPI.Device> devices = new List <VehicleScapeAPI.Device>();

            VehicleScapeAPI.Result result = Initialize();
            if (result != VehicleScapeAPI.Result.ResultOk && result != VehicleScapeAPI.Result.ResultAlreadyInitialized)
            {
                return(devices);
            }

            int deviceCount = 0;

            VehicleScapeAPI.GetDevices(IntPtr.Zero, ref deviceCount);
            if (deviceCount > 0)
            {
                VehicleScapeAPI.Device[] devs = new VehicleScapeAPI.Device[deviceCount];
                VehicleScapeAPI.GetDevices(devs, ref deviceCount);
                devices.AddRange(devs);
            }
            return(devices);
        }