//--------------------------------------------------
        // カード機制御命令
        //--------------------------------------------------
        #region カード機制御命令
        /// <summary>通信ポートオープン</summary>
        public CardMachineErrorClass OpenPort(OpenPortParamClass Param)
        {
            int ret = -1;

            try
            {
                ret = TCSPOS110PWrapperClass.OpenPort(ref port_hndl, Param.ComPort, Param.Baud);
            }
            catch
            {
                throw;
            }

            return(ErrorCodeCheck(ret));
        }
        //--------------------------------------------------
        // コムポート設定系
        //--------------------------------------------------
        #region コムポート設定系
        /// <summary>
        /// コムポートをスキャンして自動で設定する
        /// </summary>
        private void ComPortScan()
        {
            try
            {
                // COMポートリストを取得
                string[] ports = SerialPort.GetPortNames();

                // 現在取得したポート数
                int PortsLength = ports.Length;

                if (PortsLength == 0)
                {
                    throw new Exception("COMポートが見つかりません、USBケーブルが繋がっていることを確認してください。");
                }

                // 数字のみ抜き出すための正規表現
                Regex re = new Regex(@"[^0-9]");

                // 上記リストから数字のみ抜き出す
                string[] portnolist = new string[PortsLength];
                for (int i = 0; i < PortsLength; i++)
                {
                    // COMポート名からポート番号を抜き出す
                    portnolist[i] = re.Replace(ports[i], "");
                }

                // ボーレート取得(デバイスのデフォルト値)
                SerialPort[] PortNames = new SerialPort[PortsLength];
                int[]        baudList  = new int[PortsLength];
                for (int i = 0; i < PortsLength; i++)
                {
                    PortNames[i] = new SerialPort(ports[i]);
                    baudList[i]  = PortNames[i].BaudRate;
                }

                // ポートオープンに成功したポートを設定保持する
                OpenPortParamClass    ScanComPort = new OpenPortParamClass();
                CardMachineErrorClass OpenRet     = ErrorCodeCheck(-1);
                for (int i = 0; i < PortsLength; i++)
                {
                    // ポート取得
                    ScanComPort.ComPort = short.Parse(portnolist[i]);
                    ScanComPort.Baud    = baudList[i];

                    // 取得ポートをオープンテスト
                    OpenRet = OpenPort(ScanComPort);

                    // 成否判定
                    if (OpenRet.ErrorCode == 0)
                    {
                        ComPort.ComPort = ScanComPort.ComPort;
                        ComPort.Baud    = ScanComPort.Baud;
                        break;
                    }
                }

                if (OpenRet.ErrorCode != 0)
                {
                    throw new Exception(OpenRet.ErrorMessage);
                }
            }
            catch
            {
                throw;
            }
        }