亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
视频在线在亚洲| 91麻豆精品国产自产在线 | 97超碰欧美中文字幕| 国产精品一区二区三区网站| 紧缚捆绑精品一区二区| 男男gaygay亚洲| 蜜臀av性久久久久蜜臀aⅴ四虎 | 丰满岳乱妇一区二区三区| 国产一区二区三区在线观看精品| 久久成人久久爱| 精品一区二区三区蜜桃| 国产美女久久久久| 成人久久18免费网站麻豆| 91在线观看地址| 在线观看中文字幕不卡| 91官网在线观看| 欧美美女视频在线观看| 日韩一区二区三区在线视频| 久久一留热品黄| 中文字幕一区二区5566日韩| 亚洲激情在线播放| 日本特黄久久久高潮| 国产一区二区三区久久悠悠色av | 91精品国产福利| 欧美videos中文字幕| 久久精品亚洲乱码伦伦中文| 《视频一区视频二区| 亚洲成人自拍偷拍| 久草热8精品视频在线观看| 国产福利一区在线| 色婷婷国产精品综合在线观看| 欧美日韩大陆一区二区| 久久久亚洲精品一区二区三区| 136国产福利精品导航| 五月天欧美精品| 国产成人午夜片在线观看高清观看| 99久久婷婷国产| 欧美日韩高清在线播放| 国产欧美久久久精品影院| 一区二区三区四区中文字幕| 免费不卡在线观看| 成人综合激情网| 欧美肥妇bbw| 国产精品网站在线播放| 舔着乳尖日韩一区| 成人免费视频一区| 欧美肥妇free| 亚洲欧洲日韩av| 男女男精品网站| 91污片在线观看| 欧美成人精精品一区二区频| 亚洲人一二三区| 久久99九九99精品| 欧美性三三影院| 中文字幕不卡在线观看| 日韩在线a电影| 欧美在线综合视频| 18欧美亚洲精品| 处破女av一区二区| 国产中文字幕精品| 在线观看视频一区二区欧美日韩| 日韩三级免费观看| 一区二区三区 在线观看视频| 国产一区美女在线| 欧美疯狂做受xxxx富婆| 亚洲欧美日韩国产中文在线| 国产成人午夜片在线观看高清观看| 欧美日韩高清一区二区不卡| 最近日韩中文字幕| 国产在线播精品第三| 欧美二区在线观看| 亚洲裸体在线观看| 国产91精品一区二区麻豆网站| 91精品国产综合久久久蜜臀图片| 综合色天天鬼久久鬼色| 国产麻豆欧美日韩一区| 欧美日韩精品电影| 亚洲欧洲av另类| 国产精品77777| 日韩欧美一级片| 日韩电影免费在线看| 色爱区综合激月婷婷| 亚洲欧美在线高清| 国产99久久精品| 精品日韩在线观看| 喷水一区二区三区| 欧美一区二区视频网站| 亚洲电影一级片| 欧美性色黄大片| 一区二区高清免费观看影视大全 | 成人福利电影精品一区二区在线观看| 6080日韩午夜伦伦午夜伦| 亚洲aaa精品| 欧美日韩在线一区二区| 亚洲激情自拍视频| 色狠狠色狠狠综合| 一区二区三区在线观看国产| 一本在线高清不卡dvd| 亚洲日本在线天堂| 91丝袜美腿高跟国产极品老师| 国产精品不卡一区| eeuss国产一区二区三区| 国产精品丝袜久久久久久app| 高清国产一区二区| 亚洲欧洲一区二区在线播放| 91丨九色porny丨蝌蚪| 亚洲女性喷水在线观看一区| 99精品一区二区| 一区二区三区高清在线| 欧美日韩在线不卡| 视频一区在线视频| 欧美一卡二卡三卡| 国产一区二区电影| 中文字幕国产一区| 一本久久精品一区二区| 一区二区三区在线视频观看58| 欧美综合视频在线观看| 爽好久久久欧美精品| 欧美一区二区三区视频免费播放 | 国内精品自线一区二区三区视频| 久久免费的精品国产v∧| 成人免费精品视频| 亚洲综合色成人| 欧美高清hd18日本| 激情五月播播久久久精品| 国产嫩草影院久久久久| 色综合色综合色综合色综合色综合 | 欧美激情中文字幕一区二区| 成人av电影在线网| 亚洲成av人影院在线观看网| 欧美一卡2卡三卡4卡5免费| 国产一区二区三区观看| 亚洲欧美偷拍另类a∨色屁股| 欧美日韩精品福利| 国产一区二区三区| 亚洲激情自拍偷拍| 日韩三级视频中文字幕| 成人动漫在线一区| 首页国产欧美久久| 中文字幕精品—区二区四季| 欧美中文字幕久久| 国产一区二区三区在线看麻豆| 中文字幕一区二区三区四区不卡 | 日韩精品综合一本久道在线视频| 国产电影一区二区三区| 亚洲一区二区三区不卡国产欧美| 日韩视频一区二区| www.久久精品| 免费观看久久久4p| 中文字幕一区在线| 日韩精品一区二区三区四区 | 欧美精品一卡两卡| 国产乱国产乱300精品| 一区二区高清在线| 久久久三级国产网站| 欧美在线观看禁18| 国产乱对白刺激视频不卡| 亚洲午夜影视影院在线观看| 国产日产欧美精品一区二区三区| 欧美手机在线视频| 国产91高潮流白浆在线麻豆 | 国产精品原创巨作av| 亚洲18影院在线观看| 国产精品久久久久久久第一福利| 欧美男生操女生| 波多野结衣的一区二区三区| 毛片av一区二区三区| 亚洲黄色av一区| 国产日产欧美一区| 欧美va亚洲va香蕉在线| 91麻豆国产精品久久| 国产一区 二区| 热久久免费视频| 亚洲欧美日韩国产成人精品影院| 久久精品在线观看| 日韩小视频在线观看专区| 欧美亚洲国产一区二区三区va | 久久婷婷久久一区二区三区| 欧美日韩亚洲综合一区二区三区| av在线播放不卡| 狠狠久久亚洲欧美| 免费成人在线视频观看| 亚洲国产精品一区二区尤物区| 亚洲欧洲日韩av| 国产精品久久免费看| 国产亚洲精品超碰| 精品欧美乱码久久久久久1区2区| 在线观看免费成人| 91美女片黄在线观看91美女| 成人久久久精品乱码一区二区三区| 久久99精品国产麻豆婷婷洗澡| 五月天婷婷综合| 亚洲电影第三页| 亚洲成人先锋电影| 亚洲综合精品自拍| 亚洲黄色性网站| 亚洲精品伦理在线| 亚洲品质自拍视频| 亚洲少妇30p| 亚洲欧美日韩一区|