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

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

?? usbhostdlg.cpp

?? USB2.0完整資料
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
void CUsbhostDlg::OnFrameButton() 
{
	// TODO: Add your control notification handler code here
	unsigned long  output;
    HANDLE  hDevice = NULL;
	BOOLEAN bResult = FALSE;
    ULONG   nBytes;	
	CString str;
	
    if (UsbOpenDriver (&hDevice, DeviceName) != TRUE) 
	{
		MessageBox("無效設備,請重試!", "錯誤", MB_ICONERROR | MB_OK);
		hDevice = NULL;
		return;
	}

	bResult = DeviceIoControl (hDevice,
                               IOCTL_EZUSB_GET_CURRENT_FRAME_NUMBER,
                               NULL,
                               0,
                               &output,
                               sizeof(unsigned long),
                               &nBytes,
                               NULL);
	if (bResult!=TRUE)
		MessageBox("讀取當前幀號失敗!", "錯誤", MB_ICONERROR | MB_OK);
    else 
	{
		str.Format(_T("當前幀號:%d"),output); 
        m_UsbList.AddString(str);
    }

	CloseHandle(hDevice);
}

///////////////////////////////////////////////////////////////////
//
// 以下是DA0832相關函數。
//
///////////////////////////////////////////////////////////////////
void CUsbhostDlg::OnPhackleButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<256;i++)
		{
			m_PointList[i].y = (float)i;
            m_PointList[i+256].y = (float)i;
            m_PointList[i+512].y = (float)i;
            m_PointList[i+768].y = (float)i;
		}
		BigSmall=false;
	}
	else
	{
		for(int i=0;i<128;i++)
		{
			m_PointList[i].y = (float)i;
            m_PointList[i+128].y = (float)i;
            m_PointList[i+256].y = (float)i;
            m_PointList[i+384].y = (float)i;
		    m_PointList[i+512].y = (float)i;
            m_PointList[i+640].y = (float)i;
            m_PointList[i+768].y = (float)i;
			m_PointList[i+896].y = (float)i;
		}
		BigSmall=true;
	}
	index=1;	
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE);  
}

void CUsbhostDlg::OnNhackleButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<256;i++)
		{		
			m_PointList[i].y = (float)(255-i);
            m_PointList[i+256].y = (float)(255-i);
            m_PointList[i+512].y = (float)(255-i);
            m_PointList[i+768].y = (float)(255-i);
		}
		BigSmall=false;	
	}
	else
	{
		for(int i=0;i<128;i++)
		{
			m_PointList[i].y = (float)(128-i);
            m_PointList[i+128].y = (float)(128-i);
            m_PointList[i+256].y = (float)(128-i);
            m_PointList[i+384].y = (float)(128-i);
		    m_PointList[i+512].y = (float)(128-i);
            m_PointList[i+640].y = (float)(128-i);
            m_PointList[i+768].y = (float)(128-i);
			m_PointList[i+896].y = (float)(128-i);
		}
		BigSmall=true;
	}
	index=2;	
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE);  
}

void CUsbhostDlg::OnTriangleButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<256;i++)
		{
			m_PointList[i].y = (float)i;
            m_PointList[i+256].y = (float)(255-i);
            m_PointList[i+512].y = (float)i;
            m_PointList[i+768].y = (float)(255-i);
		}
		BigSmall=false;
	}
	else
	{
		for(int i=0;i<128;i++)
		{
			m_PointList[i].y = (float)i;
            m_PointList[i+128].y = (float)(128-i);
            m_PointList[i+256].y = (float)i;
            m_PointList[i+384].y = (float)(128-i);
			m_PointList[i+512].y = (float)i;
            m_PointList[i+640].y = (float)(128-i);
            m_PointList[i+768].y = (float)i;
			m_PointList[i+896].y = (float)(128-i);
		}
		BigSmall=true;
	}
	index=3;
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE);   
}

void CUsbhostDlg::OnSquareButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<256;i++)
		{		
			m_PointList[i].y = 255;
            m_PointList[i+256].y = 0;
            m_PointList[i+512].y = 255;
            m_PointList[i+768].y = 0;
		}
		BigSmall=false;
	}
	else
	{
		for(int i=0;i<128;i++)
		{		
			m_PointList[i].y = 255;
            m_PointList[i+128].y = 0;
            m_PointList[i+256].y = 255;
            m_PointList[i+384].y = 0;
			m_PointList[i+512].y = 255;
            m_PointList[i+640].y = 0;
            m_PointList[i+768].y = 255;
            m_PointList[i+896].y = 0;
		}
		BigSmall=true;
	}
	
	index=4;	
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE); 
}

void CUsbhostDlg::OnSinButton() 
{
	// TODO: Add your control notification handler code here
	if (BigSmall)
	{
		for(int i=0;i<1024;i++)
		{
			m_PointList[i].y = 127+128*(float)sin(2*PI*i/1024);
		}
		BigSmall=false;
	}
	else
	{
		for(int i=0;i<1024;i++)
		{
			m_PointList[i].y = 127+128*(float)sin(2*PI*i/512);			
		}
		BigSmall=true;
	}

	index=5;
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE);  
}

void CUsbhostDlg::OnRandomButton() 
{
	// TODO: Add your control notification handler code here
    int i=0;
	float temp;
	srand((unsigned)time(NULL));
	if (BigSmall)
	{
		while (i<1024)
		{	
			temp=(float)(rand()/100.0);
		    if(temp<=255)
			{
				m_PointList[i].y = temp;
			    i++;
			}
            BigSmall=false;
		}
	}
	else
	{
		while (i<1024)
		{	
			temp=(float)(rand()/100.0);
		    if(temp<=128)
			{
				m_PointList[i].y = temp;
			    i++;
			}
            BigSmall=true;
		}
	}
	index=6;
	CRect r;
	r.SetRect(m_InnerLWScreen , m_InnerUHScreen, m_InnerRWScreen , m_InnerDHScreen);
	InvalidateRect(r,TRUE); 
}

///////////////////////////////////////////////////////////////////
//
// 以下是USB相關函數。
//
///////////////////////////////////////////////////////////////////
void CUsbhostDlg::OnSendButton() 
{
	// TODO: Add your control notification handler code here
	HANDLE  hDevice = NULL;
	BOOLEAN bResult = FALSE;
	ULONG   nBytes;
	PUCHAR  buffer;
	ULONG   bufferLength;
    ISO_TRANSFER_CONTROL 	IsoControl;

    if(g_KeepGoing)
	{
		MessageBox("請首先結束當前線程!", "錯誤", MB_ICONERROR | MB_OK);
		return;
	}  
    
	for(int i=0;i<1024;i++)
	{
		PacketoutBuffer[i]=255-(unsigned char)m_PointList[i].y;
	}
    
	if (UsbOpenDriver (&hDevice, DeviceName) != TRUE) 
	{    	 
		MessageBox("無效設備,請重試!", "錯誤", MB_ICONERROR | MB_OK);
		return;
	}

	IsoControl.PipeNum = 1;  
    IsoControl.BufferCount = 2;
    IsoControl.FramesPerBuffer = 8;
	IsoControl.PacketSize = 16; 
    IsoControl.PacketCount = 16;
    
	bufferLength = IsoControl.PacketCount * (IsoControl.PacketSize + sizeof(USBD_ISO_PACKET_DESCRIPTOR));
    buffer = (PUCHAR) malloc(bufferLength);

	memset(buffer, 0, bufferLength);
	*buffer=0x55;  

	bResult = DeviceIoControl (hDevice,
                               IOCTL_Ezusb_RESETPIPE,
                               &IsoControl.PipeNum,
                               sizeof(ULONG),
                               NULL,
                               0,
                               &nBytes,
                               NULL);
	
	if (bResult != TRUE) 
	{
            AfxMessageBox("USB復位端點8失敗!");
			CloseHandle(hDevice);
            return;
	}     

    bResult = DeviceIoControl (hDevice,
                               IOCTL_EZUSB_ISO_WRITE,
                               &IsoControl,
                               sizeof(ISO_TRANSFER_CONTROL),
                               buffer,
                               bufferLength,
                               &nBytes,
                               NULL);

	if (bResult != TRUE) 
	{
            AfxMessageBox("USB同步OUT傳輸失敗!");
            CloseHandle(hDevice);
			return;
	}     

    g_KeepGoing = true;
    if(_beginthread(SendThreadFunction, 0, hDevice) < 0)
    {
		AfxMessageBox("啟動發送數據線程失敗!");
    }
}

void __cdecl SendThreadFunction(HANDLE hDevice)
{
    BOOLEAN bResult = FALSE;
    ULONG nBytes;
    PUCHAR outBuffer = NULL;
	ULONG outBufferLength;
	ISO_TRANSFER_CONTROL 	IsoControlOut;
	
    IsoControlOut.PipeNum = 5; 
    IsoControlOut.BufferCount = 2;
    IsoControlOut.FramesPerBuffer = 8;
    IsoControlOut.PacketSize = 16;
    IsoControlOut.PacketCount = 64; 
   
    outBufferLength = IsoControlOut.PacketCount * (IsoControlOut.PacketSize + sizeof(USBD_ISO_PACKET_DESCRIPTOR));
    outBuffer = (PUCHAR) malloc(outBufferLength);

    for (ULONG i = 0; i < (IsoControlOut.PacketCount * IsoControlOut.PacketSize); i++)
    {
         outBuffer[i] = PacketoutBuffer[i];
    }

    while (g_KeepGoing) 
    {
       bResult = DeviceIoControl (hDevice,
                             IOCTL_Ezusb_RESETPIPE,
                             &IsoControlOut.PipeNum,
                             sizeof(ULONG),
                             NULL,
                             0,
                             &nBytes,
                             NULL);

       if (bResult != TRUE)
	   {
		   AfxMessageBox("USB復位端點10失敗!");
	       goto IsoTransferDone;
	   }

       bResult = DeviceIoControl (hDevice,
                             IOCTL_EZUSB_ISO_WRITE,
                             &IsoControlOut,
                             sizeof(ISO_TRANSFER_CONTROL),
                             outBuffer,
                             outBufferLength,
                             &nBytes,
                             NULL);


	   if (bResult != TRUE) 
	   {
           AfxMessageBox("USB同步OUT傳輸失敗!");
	       goto IsoTransferDone;
	   }
   }

IsoTransferDone:
	CloseHandle(hDevice);
	g_KeepGoing=false;
    _endthread();  
}

void CUsbhostDlg::OnEndButton() 
{
	// TODO: Add your control notification handler code here
	HANDLE  hDevice = NULL;
	BOOLEAN bResult = FALSE;
	ULONG   nBytes;
	PUCHAR  buffer;
	ULONG   bufferLength;
    ISO_TRANSFER_CONTROL 	IsoControl;

    g_KeepGoing = false;

	if (UsbOpenDriver (&hDevice, DeviceName) != TRUE) 
	{    	 
		MessageBox("無效設備,請重試!", "錯誤", MB_ICONERROR | MB_OK);
		return;
	}

	IsoControl.PipeNum = 3; 
    IsoControl.BufferCount = 2;
    IsoControl.FramesPerBuffer = 8;
	IsoControl.PacketSize = 16;  
    IsoControl.PacketCount = 16; 

	bufferLength = IsoControl.PacketCount * (IsoControl.PacketSize + sizeof(USBD_ISO_PACKET_DESCRIPTOR));
    buffer = (PUCHAR) malloc(bufferLength);

	memset(buffer, 0, bufferLength);
	*buffer=0xaa;  

	bResult = DeviceIoControl (hDevice,
                               IOCTL_Ezusb_RESETPIPE,
                               &IsoControl.PipeNum,
                               sizeof(ULONG),
                               NULL,
                               0,
                               &nBytes,
                               NULL);
	
	if (bResult != TRUE) 
	{
            AfxMessageBox("USB復位端點9失敗!");
			CloseHandle(hDevice);
            return;
	}     

    bResult = DeviceIoControl (hDevice,
                               IOCTL_EZUSB_ISO_WRITE,
                               &IsoControl,
                               sizeof(ISO_TRANSFER_CONTROL),
                               buffer,
                               bufferLength,
                               &nBytes,
                               NULL);

	if (bResult != TRUE) 
	{
            AfxMessageBox("USB同步OUT傳輸失敗!");
            CloseHandle(hDevice);
			return;
	}     
  	CloseHandle(hDevice);
}

void CUsbhostDlg::OnClearButton() 
{
	// TODO: Add your control notification handler code here
	int count=m_UsbList.GetCount();
	
	for (int i=0;i < count;i++)
	{
		m_UsbList.DeleteString( 0 );
	}
}

void CUsbhostDlg::OnExitButton() 
{
	// TODO: Add your control notification handler code here
    if(g_KeepGoing)
	{
		MessageBox("請首先結束當前線程!", "錯誤", MB_ICONERROR | MB_OK);
		return;
	}	
	OnOK();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩视频一区二区三区在线播放| 蜜桃免费网站一区二区三区| 欧美电影免费观看高清完整版在线观看| 99国产麻豆精品| 成人av资源在线观看| 成人h动漫精品| 91国产成人在线| 欧美日韩在线直播| 欧美在线观看一区二区| 欧美日韩国产不卡| 日韩欧美一区电影| 久久久精品日韩欧美| 国产丝袜美腿一区二区三区| 久久久高清一区二区三区| 国产精品人人做人人爽人人添| 国产精品美女一区二区在线观看| 中文字幕亚洲视频| 亚洲午夜电影在线观看| 天天爽夜夜爽夜夜爽精品视频| 奇米精品一区二区三区在线观看 | 最新久久zyz资源站| 1000精品久久久久久久久| 一区二区三区.www| 六月丁香综合在线视频| 成人av在线资源网站| 欧美日韩国产成人在线免费| 精品国产三级电影在线观看| 一区二区中文字幕在线| 免费在线一区观看| 99精品欧美一区二区三区综合在线| 欧美性猛片aaaaaaa做受| 日韩欧美成人激情| 亚洲免费在线观看| 国内精品伊人久久久久av一坑| jlzzjlzz亚洲女人18| 日韩免费观看高清完整版| 最好看的中文字幕久久| 蜜桃av一区二区三区| 色婷婷久久综合| 久久久久久麻豆| 日韩不卡手机在线v区| 99综合电影在线视频| 精品日韩欧美一区二区| 亚洲一二三级电影| 99久久婷婷国产综合精品电影| 欧美一区日本一区韩国一区| 国产精品的网站| 九九精品视频在线看| 欧美亚洲综合另类| 中文字幕一区二| 高清国产午夜精品久久久久久| 欧美精品久久久久久久久老牛影院| 国产丝袜美腿一区二区三区| 麻豆成人在线观看| 欧美肥妇毛茸茸| 亚洲国产精品久久久久秋霞影院| 99久久伊人精品| 国产精品二三区| 成人爽a毛片一区二区免费| 337p粉嫩大胆色噜噜噜噜亚洲| 天天综合网天天综合色| 欧美三级电影精品| 亚洲成人精品在线观看| 在线精品国精品国产尤物884a| 最新久久zyz资源站| 成人免费观看男女羞羞视频| 国产午夜精品久久久久久久| 国产一区二区三区电影在线观看| 日韩欧美一级二级| 久久电影网电视剧免费观看| 欧美美女激情18p| 午夜精品久久久久久久99水蜜桃| 欧美亚洲国产一区二区三区| 亚洲精品精品亚洲| 91精彩视频在线| 偷拍自拍另类欧美| 日韩一卡二卡三卡四卡| 久久精品av麻豆的观看方式| 精品少妇一区二区三区在线视频| 久久成人精品无人区| 精品久久久久一区| 国产suv精品一区二区三区| 国产精品全国免费观看高清 | 3d动漫精品啪啪1区2区免费| 爽好多水快深点欧美视频| 欧美一区永久视频免费观看| 日本不卡视频在线观看| 日韩精品一区二区三区视频| 国产精品一区二区无线| 中文字幕一区二区三区在线观看| 91蜜桃传媒精品久久久一区二区| 亚洲图片有声小说| 欧美mv日韩mv国产网站app| 国产精品亚洲第一区在线暖暖韩国 | 欧美一区二区三区播放老司机| 日韩中文字幕麻豆| 国产欧美日韩卡一| 欧洲在线/亚洲| 美女精品自拍一二三四| 日本一区二区三区国色天香 | 亚洲综合精品久久| 欧美一级日韩一级| 成人黄色777网| 五月婷婷久久丁香| 国产婷婷色一区二区三区四区| 色综合欧美在线视频区| 蜜桃一区二区三区四区| 亚洲色欲色欲www| 日韩欧美激情四射| 91久久香蕉国产日韩欧美9色| 奇米影视一区二区三区| 亚洲私人影院在线观看| 日韩欧美亚洲国产精品字幕久久久| 不卡视频一二三| 男女男精品网站| 亚洲男人都懂的| 久久久久国产精品免费免费搜索| 一本大道综合伊人精品热热| 久久国产精品区| 亚洲国产精品视频| 国产精品久久久久久久蜜臀| 欧美一级二级在线观看| 色噜噜狠狠成人中文综合 | 亚洲免费成人av| 国产亚洲视频系列| 日韩免费一区二区| 欧美日精品一区视频| 色综合久久中文字幕| 成人一区在线观看| 国内精品伊人久久久久影院对白| 亚洲观看高清完整版在线观看| 国产欧美精品国产国产专区 | 欧美精品九九99久久| aaa亚洲精品| 成人一区在线观看| 国产伦理精品不卡| 另类的小说在线视频另类成人小视频在线| 亚洲图片另类小说| 1000部国产精品成人观看| 国产嫩草影院久久久久| 日本一区二区三区国色天香| 日韩欧美一区电影| 4438x亚洲最大成人网| 欧美另类高清zo欧美| 欧美四级电影网| 欧美日韩和欧美的一区二区| 91久久精品网| 欧美日韩成人一区| 91精品中文字幕一区二区三区| 欧美日本国产视频| 欧美精品第1页| 日韩一二三区视频| 日韩精品资源二区在线| 日韩三级精品电影久久久| 日韩一级片网站| 亚洲精品一线二线三线无人区| 日韩精品一区二| 久久免费看少妇高潮| 国产日韩一级二级三级| 亚洲欧洲精品一区二区三区| 亚洲日本丝袜连裤袜办公室| 亚洲一区二区三区四区中文字幕| 亚洲欧美日韩国产成人精品影院| 一区二区高清视频在线观看| 亚洲一区电影777| 日本成人在线不卡视频| 韩国毛片一区二区三区| 99在线精品免费| 欧美精品少妇一区二区三区| 宅男噜噜噜66一区二区66| 精品日韩欧美一区二区| 国产精品美女一区二区| 亚洲www啪成人一区二区麻豆| 久久国产精品第一页| 成人精品视频一区二区三区 | 免费在线成人网| 韩国理伦片一区二区三区在线播放| 国产成人自拍在线| 欧美伊人精品成人久久综合97| 日韩一区二区在线观看视频播放| 国产亚洲自拍一区| 性感美女久久精品| 国产成人精品三级麻豆| 欧美日韩在线播放三区| 精品国产乱码久久久久久蜜臀| 中文乱码免费一区二区| 日本成人中文字幕| 91美女片黄在线观看91美女| 宅男噜噜噜66一区二区66| 国产精品久线在线观看| 日韩电影一区二区三区| 99国产精品视频免费观看| 日韩一区二区三区视频| 亚洲欧美另类小说视频| 国产一区二区三区不卡在线观看| 欧美伊人久久久久久久久影院| 国产拍揄自揄精品视频麻豆| 日本美女一区二区| 欧美亚洲国产bt| 中文无字幕一区二区三区|