亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? form1.cs

?? VC#編寫的例程
?? CS
?? 第 1 頁 / 共 2 頁
字號:
            // 
            // StartBtn
            // 
            this.StartBtn.BackColor = System.Drawing.Color.Aquamarine;
            this.StartBtn.Location = new System.Drawing.Point(223, 136);
            this.StartBtn.Name = "StartBtn";
            this.StartBtn.Size = new System.Drawing.Size(128, 20);
            this.StartBtn.TabIndex = 3;
            this.StartBtn.Text = "Start";
            this.StartBtn.UseVisualStyleBackColor = false;
            this.StartBtn.Click += new System.EventHandler(this.StartBtn_Click);
            // 
            // EndPointsComboBox
            // 
            this.EndPointsComboBox.DropDownHeight = 120;
            this.EndPointsComboBox.FormattingEnabled = true;
            this.EndPointsComboBox.IntegralHeight = false;
            this.EndPointsComboBox.Location = new System.Drawing.Point(111, 15);
            this.EndPointsComboBox.Name = "EndPointsComboBox";
            this.EndPointsComboBox.Size = new System.Drawing.Size(240, 21);
            this.EndPointsComboBox.TabIndex = 0;
            this.EndPointsComboBox.SelectedIndexChanged += new System.EventHandler(this.EndPointsComboBox_SelectedIndexChanged);
            // 
            // label5
            // 
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(16, 18);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(94, 13);
            this.label5.TabIndex = 11;
            this.label5.Text = "Endpoint . . . . . . . ";
            // 
            // CPULoadBox
            // 
            this.CPULoadBox.Controls.Add(this.CpuLabel);
            this.CPULoadBox.Controls.Add(this.CpuBar);
            this.CPULoadBox.Location = new System.Drawing.Point(19, 247);
            this.CPULoadBox.Name = "CPULoadBox";
            this.CPULoadBox.Size = new System.Drawing.Size(330, 60);
            this.CPULoadBox.TabIndex = 12;
            this.CPULoadBox.TabStop = false;
            this.CPULoadBox.Text = " CPU Load ";
            // 
            // CpuLabel
            // 
            this.CpuLabel.AutoSize = true;
            this.CpuLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.CpuLabel.Location = new System.Drawing.Point(150, 41);
            this.CpuLabel.Name = "CpuLabel";
            this.CpuLabel.Size = new System.Drawing.Size(27, 13);
            this.CpuLabel.TabIndex = 1;
            this.CpuLabel.Text = "0 %";
            this.CpuLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // CpuBar
            // 
            this.CpuBar.ForeColor = System.Drawing.Color.ForestGreen;
            this.CpuBar.Location = new System.Drawing.Point(16, 28);
            this.CpuBar.Name = "CpuBar";
            this.CpuBar.Size = new System.Drawing.Size(294, 10);
            this.CpuBar.Step = 1;
            this.CpuBar.TabIndex = 0;
            // 
            // PerfTimer
            // 
            this.PerfTimer.Enabled = true;
            this.PerfTimer.Interval = 500;
            this.PerfTimer.Tick += new System.EventHandler(this.PerfTimer_Tick);
            // 
            // Form1
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(374, 329);
            this.Controls.Add(this.CPULoadBox);
            this.Controls.Add(this.label5);
            this.Controls.Add(this.EndPointsComboBox);
            this.Controls.Add(this.StartBtn);
            this.Controls.Add(this.groupBox1);
            this.Controls.Add(this.FailuresBox);
            this.Controls.Add(this.SuccessBox);
            this.Controls.Add(this.QueueBox);
            this.Controls.Add(this.PpxBox);
            this.Controls.Add(this.label4);
            this.Controls.Add(this.label3);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.label1);
            this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
            this.Menu = this.mainMenu;
            this.Name = "Form1";
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.Text = "C# USB Data Streamer";
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
            this.Load += new System.EventHandler(this.Form1_Load);
            this.groupBox1.ResumeLayout(false);
            this.CPULoadBox.ResumeLayout(false);
            this.CPULoadBox.PerformLayout();

            this.ResumeLayout(false);
            this.PerformLayout();

		}
		#endregion

		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main() 
		{
			try			{				Application.Run(new Form1());			}			catch (Exception e)			{
                MessageBox.Show(e.StackTrace, "Exception '" + e.Message + "' thrown by " + e.Source);
            }		}


		private void AboutItem_Click(object sender, System.EventArgs e)
		{
			string assemblyList =  Util.Assemblies;			MessageBox.Show(assemblyList,Text);				}

		private void ExitItem_Click(object sender, System.EventArgs e)
		{
			Close();
		}

		private void Form1_Load(object sender, System.EventArgs e)
		{
            if (EndPointsComboBox.Items.Count > 0)
                EndPointsComboBox.SelectedIndex = 0;
		}

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (usbDevices != null)
                usbDevices.Dispose();
        }


        // Enforces valid values for PPX
        private void PpxBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (EndPoint == null) return;

            int ppx = Convert.ToUInt16(PpxBox.Text);
            int len = EndPoint.MaxPktSize * ppx;

            int maxLen = 0x10000; // 64K
            if (len > maxLen)
            {
                ppx = maxLen / EndPoint.MaxPktSize / 8 * 8;
                PpxBox.Text = ppx.ToString();
                MessageBox.Show("Maximum of 64KB per transfer.  Packets reduced.", "Invalid Packets per Xfer.");
            }

            if (MyDevice.bHighSpeed && (EndPoint.Attributes == 1) && (ppx < 8))
            {
                PpxBox.Text = "8";
                MessageBox.Show("Minimum of 8 Packets per Xfer required for HS Isoc.", "Invalid Packets per Xfer.");
            }

        }

        private void EndPointsComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Get the Alt setting
            string sAlt = EndPointsComboBox.Text.Substring(4, 1);
            byte a = Convert.ToByte(sAlt);
            MyDevice.AltIntfc = a;

            // Get the endpoint
            int aX = EndPointsComboBox.Text.LastIndexOf("0x");
            string sAddr = EndPointsComboBox.Text.Substring(aX, 4);
            byte addr = (byte)Util.HexToInt(sAddr);

            EndPoint = MyDevice.EndPointOf(addr);

            // Ensure valid PPX for this endpoint
            PpxBox_SelectedIndexChanged(sender, null);
        }


        private void StartBtn_Click(object sender, System.EventArgs e)
        {
            if (MyDevice == null)
                return;

            if (StartBtn.Text.Equals("Start"))
            {
                StartBtn.Text = "Stop";
                StartBtn.BackColor = Color.Pink;

                BufSz = EndPoint.MaxPktSize * Convert.ToUInt16(PpxBox.Text);
                QueueSz = Convert.ToUInt16(QueueBox.Text);
                PPX = Convert.ToUInt16(PpxBox.Text);

                EndPoint.XferSize = BufSz;

                if (EndPoint is CyIsocEndPoint)
                    IsoPktBlockSize = (EndPoint as CyIsocEndPoint).GetPktBlockSize(BufSz);
                else
                    IsoPktBlockSize = 0;

                bRunning = true;

                tListen = new Thread(new ThreadStart(XferThread));
                tListen.IsBackground = true;
                tListen.Priority = ThreadPriority.Highest;
                tListen.Start();
            }
            else
            {
                if (tListen.IsAlive)
                {
                    StartBtn.Text = "Start";
                    bRunning = false;

                    t2 = DateTime.Now;
                    elapsed = t2 - t1;
                    xferRate = (long)(XferBytes / elapsed.TotalMilliseconds);
                    xferRate = xferRate / (int)100 * (int)100;

                    tListen.Abort();
                    tListen.Join();
                    tListen = null;

                    StartBtn.BackColor = Color.Aquamarine;
                }

            }

        }

        // Data Xfer Thread entry point
        public unsafe void XferThread()
        {
            // Setup the queue buffers
            byte[][] cmdBufs = new byte[QueueSz][];
            byte[][] xferBufs = new byte[QueueSz][];
            byte[][] ovLaps = new byte[QueueSz][];

            int xStart = 0;

            try
            {
                LockNLoad(ref xStart, cmdBufs, xferBufs, ovLaps);
            }
            catch (NullReferenceException e) 
            {
                // This exception gets thrown if the device is unplugged 
                // while we're streaming data
                this.Invoke(handleException);
            }
        }


        // This is a recursive routine for pinning all the buffers used in the transfer in memory.
        // It will get recursively called QueueSz times.  On the QueueSz_th call, it will call
        // XferData, which will loop, transferring data, until the stop button is clicked.
        // Then, the recursion will unwind.
        public unsafe void LockNLoad(ref int j, byte[][] cBufs, byte[][] xBufs, byte[][] oLaps)
        {
            // Allocate one set of buffers for the queue
            cBufs[j]    = new byte[CyConst.SINGLE_XFER_LEN + IsoPktBlockSize];
            xBufs[j]    = new byte[BufSz];			oLaps[j]	= new byte[20];

            fixed (byte* tL0 = oLaps[j], tc0 = cBufs[j], tb0 = xBufs[j])  // Pin the buffers in memory
            {
                OVERLAPPED* ovLapStatus = (OVERLAPPED*)tL0;
                ovLapStatus->hEvent = (uint)PInvoke.CreateEvent(0, 0, 0, 0);

                // Pre-load the queue with a request
                int len = BufSz;
                EndPoint.BeginDataXfer(ref cBufs[j], ref xBufs[j], ref len, ref oLaps[j]);

                j++;

                if (j < QueueSz)
                    LockNLoad(ref j, cBufs, xBufs, oLaps);  // Recursive call to pin next buffers in memory
                else
                    XferData(cBufs, xBufs, oLaps);          // All loaded. Let's go!

            }

        }

        // The infinite transfer loop
        public unsafe void XferData(byte[][] cBufs, byte[][] xBufs, byte[][] oLaps)
        {
            int k = 0;
            int len = 0;

            Successes = 0;
            Failures = 0;

            XferBytes = 0;
            t1 = DateTime.Now;

            for (; bRunning; )
            {
                // WaitForXfer
                fixed (byte* tmpOvlap = oLaps[k])
                {
                    OVERLAPPED* ovLapStatus = (OVERLAPPED*)tmpOvlap;
                    if (!EndPoint.WaitForXfer(ovLapStatus->hEvent, 500))
                    {
                        EndPoint.Abort();
                        PInvoke.WaitForSingleObject(ovLapStatus->hEvent, 500);
                    }
                }

                // FinishDataXfer
                if (EndPoint.FinishDataXfer(ref cBufs[k], ref xBufs[k], ref len, ref oLaps[k]))
                {
                    XferBytes += len;
                    Successes++;
                }
                else
                    Failures++;


                // Re-submit this buffer into the queue
                len = BufSz;
                EndPoint.BeginDataXfer(ref cBufs[k], ref xBufs[k], ref len, ref oLaps[k]);

                k++;

                if (k == QueueSz)  // Only update displayed stats once each time through the queue
                {
                    k = 0;

                    t2 = DateTime.Now;
                    elapsed = t2 - t1;

                    xferRate = (long)(XferBytes / elapsed.TotalMilliseconds);
                    xferRate = xferRate / (int)100 * (int)100;

                    // Call StatusUpdate() in the main thread
                    this.Invoke(updateUI);

                    // For small QueueSz or PPX, the loop is too tight for UI thread to ever get service.   
                    // Without this, app hangs in those scenarios.
                    Thread.Sleep(1);
                }

            } // End infinite loop

        }

        // The callback routine delegated to updateUI.
        public void StatusUpdate()
        {
            if (xferRate > ProgressBar.Maximum)
                ProgressBar.Maximum = (int)(xferRate * 1.25);

            ProgressBar.Value = (int)xferRate;
            ThroughputLabel.Text = ProgressBar.Value.ToString();

            SuccessBox.Text = Successes.ToString();
            FailuresBox.Text = Failures.ToString();
        }

        // The callback routine delegated to handleException.
        public void ThreadException()
        {
            StartBtn.Text = "Start";
            bRunning = false;

            t2 = DateTime.Now;
            elapsed = t2 - t1;
            xferRate = (long)(XferBytes / elapsed.TotalMilliseconds);
            xferRate = xferRate / (int)100 * (int)100;

            tListen = null;

            StartBtn.BackColor = Color.Aquamarine;

        }

        // Updates the CPU Load meter
        private void PerfTimer_Tick(object sender, EventArgs e)
        {
            if (bVista) return;

            float cpu = CpuCounter.NextValue();
            CpuBar.Value = (int)cpu;
            CpuLabel.Text = string.Format("{0} %", (int)cpu);

        }

	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人性生交大片免费看中文网站| 成人av一区二区三区| 欧美精选在线播放| 亚洲激情图片一区| 99久久99久久精品国产片果冻| 国产精品美女久久久久久久 | 激情国产一区二区| 91精品国产综合久久久久久漫画 | 亚洲欧美自拍偷拍| 成人一二三区视频| 国产精品美女久久福利网站| 国产999精品久久久久久| 欧美电影免费观看高清完整版在线| 五月天婷婷综合| 91精品国产欧美一区二区18| 天天综合天天做天天综合| 欧美一区二区三区在线观看| 日本视频中文字幕一区二区三区| 欧美精品九九99久久| 日本不卡一二三区黄网| 日韩精品中午字幕| 国产成人免费在线观看| 欧美国产亚洲另类动漫| jlzzjlzz国产精品久久| 亚洲色图欧洲色图婷婷| 在线免费观看一区| 午夜精品久久一牛影视| 欧美一区二区三区白人| 国内精品伊人久久久久av影院| 久久这里都是精品| www.欧美亚洲| 亚洲最色的网站| 69p69国产精品| 国模无码大尺度一区二区三区| 国产日韩欧美激情| 91丨国产丨九色丨pron| 亚洲狠狠爱一区二区三区| 日韩一区二区视频在线观看| 奇米一区二区三区av| 久久精品亚洲乱码伦伦中文 | 在线国产亚洲欧美| 天堂午夜影视日韩欧美一区二区| 日韩亚洲欧美高清| 国产资源精品在线观看| 国产精品青草综合久久久久99| 91社区在线播放| 亚洲黄色av一区| 日韩美一区二区三区| 成人18视频在线播放| 亚洲高清中文字幕| 精品乱码亚洲一区二区不卡| 99视频精品免费视频| 一区二区三区波多野结衣在线观看| 欧美一区午夜视频在线观看| 国产成人日日夜夜| 亚洲一卡二卡三卡四卡无卡久久| 日韩色在线观看| 成人午夜激情在线| 日韩主播视频在线| 国产亚洲人成网站| 欧美日韩一卡二卡| 国产一区二区看久久| 亚洲综合在线免费观看| 日韩亚洲欧美在线观看| 91在线视频观看| 麻豆成人免费电影| 综合久久一区二区三区| 日韩欧美专区在线| 91啪亚洲精品| 激情综合色丁香一区二区| 亚洲免费观看在线视频| 精品国产髙清在线看国产毛片 | jlzzjlzz亚洲女人18| 日本成人在线不卡视频| 国产精品灌醉下药二区| 日韩写真欧美这视频| 91久久精品国产91性色tv| 激情五月播播久久久精品| 亚洲猫色日本管| 久久九九国产精品| 欧美一区午夜精品| 色噜噜狠狠色综合中国| 国产精品一区免费在线观看| 三级久久三级久久| 成人欧美一区二区三区1314| 精品人伦一区二区色婷婷| 欧美综合欧美视频| 成人蜜臀av电影| 久久99国产精品成人| 亚洲一区二区精品视频| 国产精品久久久久一区| 精品久久人人做人人爽| 欧美日韩极品在线观看一区| 97se亚洲国产综合在线| 国产成人综合亚洲网站| 日本亚洲视频在线| 亚洲高清不卡在线| 国产精品剧情在线亚洲| 久久女同互慰一区二区三区| 欧美裸体一区二区三区| 色狠狠av一区二区三区| 不卡视频在线观看| 国产乱码字幕精品高清av | 九一九一国产精品| 五月综合激情日本mⅴ| 一区二区三区在线影院| 中文字幕一区二区三区在线不卡| 久久久久久久久伊人| 日韩免费在线观看| 欧美日精品一区视频| 91精品福利视频| 99精品国产一区二区三区不卡| 国产成人免费av在线| 精东粉嫩av免费一区二区三区 | 一区二区三区蜜桃| 亚洲素人一区二区| 国产精品高潮呻吟久久| 亚洲国产岛国毛片在线| 国产调教视频一区| 国产午夜三级一区二区三| 精品国产欧美一区二区| 日韩一区二区在线播放| 欧美一区二区三区免费大片| 777xxx欧美| 欧美人妖巨大在线| 欧美日韩一区不卡| 欧美日韩国产综合一区二区三区| 色老头久久综合| 欧美三级一区二区| 欧美性大战久久久久久久| 欧美三级欧美一级| 欧美性三三影院| 91精品欧美福利在线观看| 欧美日韩精品免费观看视频| 8x8x8国产精品| 欧美精品v国产精品v日韩精品 | 久久综合精品国产一区二区三区| 精品国产乱码久久久久久久| 久久精品一区二区| 国产精品对白交换视频| 亚洲视频一二区| 一片黄亚洲嫩模| 亚洲国产精品一区二区久久| 午夜精品久久久久| 日本伊人精品一区二区三区观看方式| 日韩av网站在线观看| 麻豆91在线播放| 国产一区二区电影| 大美女一区二区三区| 91年精品国产| 欧美日韩一区不卡| 欧美α欧美αv大片| 国产性做久久久久久| 亚洲日本中文字幕区| 亚洲国产日韩在线一区模特| 日本三级韩国三级欧美三级| 极品美女销魂一区二区三区| 丰满少妇久久久久久久| 91蜜桃免费观看视频| 欧美久久久久久久久| 欧美成人女星排名| 欧美高清在线视频| 亚洲一区二区三区中文字幕在线| 午夜精品久久久久久久99樱桃| 九色porny丨国产精品| 国产91精品精华液一区二区三区 | 色婷婷av一区二区三区之一色屋| 欧美性猛交xxxx黑人交| 精品卡一卡二卡三卡四在线| 中文字幕在线观看不卡| 亚洲国产欧美在线| 久久国产欧美日韩精品| 丁香激情综合国产| 欧美日韩日日骚| 亚洲精品在线三区| 亚洲日穴在线视频| 日本欧美韩国一区三区| 丰满放荡岳乱妇91ww| 欧美日韩国产成人在线免费| 2023国产精华国产精品| 最新成人av在线| 日本系列欧美系列| 成人小视频在线| 欧美日韩国产不卡| 日本一区二区三区视频视频| 夜夜嗨av一区二区三区网页| 九九视频精品免费| 一本色道综合亚洲| 精品少妇一区二区三区日产乱码| 亚洲欧美色图小说| 韩国女主播一区| 欧美亚洲动漫精品| 国产欧美综合在线| 亚洲国产精品久久艾草纯爱| 国产精品一区在线| 欧美精品v国产精品v日韩精品 | 91啪亚洲精品| 26uuu精品一区二区三区四区在线| 亚洲免费av观看| 国产麻豆成人精品|