예제 #1
0
        /// <summary>
        /// Mounts the <see cref="Drive"/>.
        /// </summary>
        /// <returns></returns>
        public string Mount()
        {
            string result;

            var fTPSClient = new FTPSClient();

            fTPSClient.LogCommand     += new LogCommandEventHandler(OnFTPSClientLogCommand);
            fTPSClient.LogServerReply += new LogServerReplyEventHandler(OnFTPSClientLogServerReply);

            var dokanFtpClient = new DokanFtpClient(fTPSClient, options);

            dokanFtpClient.MethodCall += new LogEventHandler(OnFtpClientMethodCall);
            dokanFtpClient.Debug      += new LogEventHandler(OnFtpClientDebug);

            var status = DokanNet.DokanMain(options.GetDokanOptions(), dokanFtpClient);

            switch (status)
            {
            case DokanNet.DOKAN_DRIVE_LETTER_ERROR:
                result = "Drive letter error";
                break;

            case DokanNet.DOKAN_DRIVER_INSTALL_ERROR:
                result = "Driver install error";
                break;

            case DokanNet.DOKAN_MOUNT_ERROR:
                result = "Mount error";
                break;

            case DokanNet.DOKAN_START_ERROR:
                result = "Start error";
                break;

            case DokanNet.DOKAN_ERROR:
                result = "Unknown error";
                break;

            case DokanNet.DOKAN_SUCCESS:
                result = "Success";
                break;

            default:
                result = string.Format("Unknown status: %d", status);
                break;
            }

            return(result);
        }
예제 #2
0
파일: Drive.cs 프로젝트: forger/MountFTP
        /// <summary>
        /// Mounts the <see cref="Drive"/>.
        /// </summary>
        /// <returns></returns>
        public string Mount()
        {
            string result;

            var fTPSClient = new FTPSClient();
            fTPSClient.LogCommand += new LogCommandEventHandler(OnFTPSClientLogCommand);
            fTPSClient.LogServerReply += new LogServerReplyEventHandler(OnFTPSClientLogServerReply);

            var dokanFtpClient = new DokanFtpClient(fTPSClient, options);
            dokanFtpClient.MethodCall += new LogEventHandler(OnFtpClientMethodCall);
            dokanFtpClient.Debug += new LogEventHandler(OnFtpClientDebug);

            var status = DokanNet.DokanMain(options.GetDokanOptions(), dokanFtpClient);
            switch (status)
            {
                case DokanNet.DOKAN_DRIVE_LETTER_ERROR:
                    result = "Drive letter error";
                    break;
                case DokanNet.DOKAN_DRIVER_INSTALL_ERROR:
                    result = "Driver install error";
                    break;
                case DokanNet.DOKAN_MOUNT_ERROR:
                    result = "Mount error";
                    break;
                case DokanNet.DOKAN_START_ERROR:
                    result = "Start error";
                    break;
                case DokanNet.DOKAN_ERROR:
                    result = "Unknown error";
                    break;
                case DokanNet.DOKAN_SUCCESS:
                    result = "Success";
                    break;
                default:
                    result = string.Format("Unknown status: %d", status);
                    break;
            }

            return result;
        }