Здравствуйте.

Написал простенькое консольное приложение на шарпах с библиотекой owen_io.dll.

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplicationOWENDLLImport
{
    class Program
    {
        internal class OwenIO
        {
            [DllImportAttribute("owen_io.dll", EntryPoint = "OpenPort", CallingConvention = CallingConvention.StdCall)]
            public static extern int OpenPort(int n, int speed, int part, int bits, int stop, int vid);

            [DllImportAttribute("owen_io.dll", EntryPoint = "ClosePort", CallingConvention = CallingConvention.StdCall)]
            public static extern int ClosePort();

            [DllImportAttribute("owen_io.dll", CharSet = CharSet.Unicode, EntryPoint = "ReadFloat24", CallingConvention = CallingConvention.StdCall)]
            public static extern int ReadFloat24(int adr, int adr_type, string command, float value, int index);
        }

        static void Main(string[] args)
        {
            int result;
            float value = 0;

            result = OwenIO.OpenPort(2, 8, 0, 1, 0, 1);
            Console.WriteLine(result); //возвращается 0 - успешно

            result = OwenIO.ReadFloat24(32, 0, "PV", value, 0);
            Console.WriteLine(result); //возвращается -104 - сетевая ошибка nErr
            Console.WriteLine(value); //возвращается 0, т.к. значение не изменилось

            result = OwenIO.ClosePort();
            Console.WriteLine(result); //возвращается 0 - успешно

            Console.ReadLine();
        }
    }
}
Как видно из моих комментариев порт открывается и закрывается нормально, т.е. без ошибок (код возврата 0), а вот чтение параметра PV не удаётся (код возврата -104, что соответствует сетевой ошибке nErr). Грешу на PChar и string.

Подскажите, пожалуйста, в чём может быть проблема. Заранее благодарен

З.Ы.: у меня owen_io.dll версии 1.2.0.17 - это последняя версия библиотеки?