Функция UploadFIles на ExtraPutty DLL - PullRequest
0 голосов
/ 29 ноября 2018

Я хотел бы передать файл по протоколу xmodem, и я обнаружил, что ExtraPutty предоставляет функцию с именем UploadFiles , позволяющую разработчикам использовать его длясделай это.Но я столкнулся с проблемой, состоящей в том, что моя программа не могла передать файл этой функцией.Вот мой исходный код:

[DllImport(@"C:\Program Files\ExtraPuTTY\Bin\ExtraPuTTY.dll", EntryPoint = "UploadFiles")]
    public static extern int UploadFile(UInt32 connectionId, int protocolType, string pathFile, string title, string comments);

static void TransferFirmware()
    {
        //Establish a connection with target device
        string targetName = "169.254.x.x";
        UInt32 connectionId = new UInt32();
        string login = string.Empty;
        string password = string.Empty;
        byte showTerminal = 0;
        Int32 protocol = 3;
        UInt32 portNum = 950;
        Int32 generateReport = 0;
        FOTAHandler.CallBackRcvData callback = new FOTAHandler.CallBackRcvData(RcvData);
        UInt32 specSetting = 0;

        var connectionResult = FOTAHandler.OpenConnection(targetName, ref connectionId, login, password, showTerminal, protocol, portNum, generateReport, ref callback, specSetting);

        if (connectionResult == 0)
        {
            Console.WriteLine("Connection id: " + Convert.ToString(connectionId));
            Console.WriteLine("The connection is okay. Start uploading image file...");

            try
            {
                var result = FOTAHandler.UploadFile(connectionId, 0, @"ImageFile\V00.bin", "XXXX", "XXXX XXXXXXXX");
                Console.WriteLine(String.Format("File transfer result: {0}", result));
            }
            catch(Exception e)
            {
                Console.WriteLine(e.ToString());
            }
        }
        else
        {
            Console.WriteLine("The connection fail. Error code: " + connectionResult);
        }
    }

У кого-нибудь есть идеи?Большое спасибо!

...