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

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

?? seeddecusb.h

?? 一個USB驅動程序
?? H
字號:
/**********************************************************************/
/* this file is the function for test the seeddec55XX driver and devic*/
/*	author lifeng Duan												  */
/*	Lt.d	SEED													  */
/**********************************************************************/

#ifndef _SEEDDECUSB_H_
#define _SEEDDECUSB_H_

typedef PVOID USBD_PIPE_HANDLE;
typedef PVOID USBD_CONFIGURATION_HANDLE;
typedef PVOID USBD_INTERFACE_HANDLE;

/*定義通道的類型*/
typedef enum _USBD_PIPE_TYPE {
    /*控制類型*/
	UsbdPipeTypeControl,
	/*等時傳送類型*/
    UsbdPipeTypeIsochronous,
	/*批量傳送類型*/
    UsbdPipeTypeBulk,
	/*中斷傳送類型*/
    UsbdPipeTypeInterrupt
} USBD_PIPE_TYPE;

/*定義管道的描述表節構*/
typedef struct _USBD_PIPE_INFORMATION {
	// Maximum packet size for this pipe
	//節點數據包的最大長度
    USHORT MaximumPacketSize;
	// 8 bit USB endpoint address (includes direction)
	//USB節點的地址(包括方向)
	UCHAR EndpointAddress;
	// Polling interval in ms if interrupt pipe,taken from endpoint descriptor 
    //中斷檢測間隔; 
    UCHAR Interval; 
	// PipeType identifies type of transfer valid for this pipe
	//有效節點的類型
	USBD_PIPE_TYPE PipeType;
	  
               
    USBD_PIPE_HANDLE PipeHandle;
    // INPUT
    // These fields are filled in by the client driver
    // Maximum size for a single request in bytes.
    ULONG MaximumTransferSize; 
    //通路標識                           
    ULONG PipeFlags;                                   
} USBD_PIPE_INFORMATION, *PUSBD_PIPE_INFORMATION;

/*USB接口的定義節構*/
typedef struct _USBD_INTERFACE_INFORMATION {
    //節構的長度,包括所有節點的信息長度
	USHORT Length; 
    // INPUT
    // Interface number and Alternate setting this
    // structure is associated with
    UCHAR InterfaceNumber;
    UCHAR AlternateSetting;
    // OUTPUT讀接收描述表得到
    // These fields are filled in by USBD
    UCHAR Class;
    UCHAR SubClass;
    UCHAR Protocol;
    UCHAR Reserved;
    
    USBD_INTERFACE_HANDLE InterfaceHandle;
    ULONG NumberOfPipes; 
	//Endpoint status
    USBD_PIPE_INFORMATION Pipes[4];
} USBD_INTERFACE_INFORMATION, *PUSBD_INTERFACE_INFORMATION;
/*設備描述符節構*/
typedef struct __usb_Dev_Descriptor__ {
    UCHAR  bLength;
    UCHAR  bDescriptorType;
    USHORT bcdUSB;
    UCHAR  bDeviceClass;
    UCHAR  bDeviceSubClass;
    UCHAR  bDeviceProtocol;
    UCHAR  bMaxPacketSize0;
    USHORT idVendor;
    USHORT idProduct;
    USHORT bcdDevice;
    UCHAR  iManufacturer;
    UCHAR  iProduct;
    UCHAR  iSerialNumber;
    UCHAR  bNumConfigurations;
} Usb_Device_Descriptor, *pUsb_Device_Descriptor;
/*配置描述表*/
typedef struct __usb_Config_Descriptor__ {
    UCHAR bLength;
    UCHAR bDescriptorType;
    USHORT wTotalLength;
    UCHAR bNumInterfaces;
    UCHAR bConfigurationValue;
    UCHAR iConfiguration;
    UCHAR bmAttributes;
    UCHAR MaxPower;
} Usb_Configuration_Descriptor, *pUsb_Configuration_Descriptor;
/*字符串描述表*/
typedef struct __usb_String_Descriptor__ { //TPM added the usb_String_Descriptor
    UCHAR bLength;
    UCHAR bDescriptorType;
    char bString[100];
} Usb_String_Descriptor, *pUsb_String_Descriptor;

typedef struct _USB_ENDPOINT_DESCRIPTOR 
{
    UCHAR	bLength;
    UCHAR	bDescriptorType;
    UCHAR	bEndpointAddress;
    UCHAR	bmAttributes;
    USHORT	wMaxPacketSize;
    UCHAR	bInterval;
} USB_ENDPOINT_DESCRIPTOR, *PUSB_ENDPOINT_DESCRIPTOR;

typedef struct _USB_INTERFACE_DESCRIPTOR 
{
    UCHAR	bLength;
    UCHAR	bDescriptorType;
    UCHAR	bInterfaceNumber;
    UCHAR	bAlternateSetting;
    UCHAR	bNumEndpoints;
    UCHAR	bInterfaceClass;
    UCHAR	bInterfaceSubClass;
    UCHAR	bInterfaceProtocol;
    UCHAR	iInterface;
} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR;


#define GET_STRING_DESCRIPTOR_LENGTH(pv) \
    ((pUsb_String_Descriptor)pv)->bLength

#define GET_CONFIG_DESCRIPTOR_LENGTH(pv) \
    ((pUsb_Configuration_Descriptor)pv)->wTotalLength

BOOL DoIoctl(
  HANDLE hDevice,              // handle to device of interest
  DWORD dwIoControlCode,       // control code of operation to perform
  LPVOID lpInBuffer,           // pointer to buffer to supply input data
  DWORD nInBufferSize,         // size, in bytes, of input buffer
  LPVOID lpOutBuffer,          // pointer to buffer to receive output data
  DWORD nOutBufferSize,        // size, in bytes, of output buffer
  LPDWORD lpBytesReturned,     // pointer to variable to receive byte count
  LPOVERLAPPED lpOverlapped,   // pointer to structure for asynchronous operation
  CString& hOutputBox
);

/**********************************************************************/
/* OpenDriver()		                                                  */
/*                                                                    */
/* Purpose:													          */ 
/*      Opens the device driver using symbolic name provided          */
/*															          */
/* Input:  none                                                       */
/*															          */
/* Return Value:                                                      */
/*      Boolean that indicates if the driver was                      */
/*      successfully opened or not.									  */
/**********************************************************************/
BOOLEAN	OpenDriver();
/**********************************************************************/
/* CloseDriver()													  */
/* Purpose:															  */ 
/*      Close the device driver using symbolic						  */
/* Input:															  */
/*			none													  */
/* Return Value:													  */
/*			none													  */
/**********************************************************************/
void CloseDriver();
/**********************************************************************/
/*	get the device descriptor										  */
/*	purpose:														  */
/*			get the device descriptor for the CY7c68001			      */
/*	Input:															  */
/*			none													  */
/* Return Value:												      */
/*      Boolean that indicates if the driver was					  */
/*      successfully opened or not.									  */
/**********************************************************************/
PVOID Sx2GetDeviceDesc();
/**********************************************************************/
/*	get the string descriptor										  */
/*	purpose:														  */
/*			get the string descriptor for the CY7c68001			      */
/*	Input:															  */
/*			none													  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
PVOID Sx2GetStringDesc(int stringindex);
/**********************************************************************/
/*	get the configuration descriptor    							  */
/*	purpose:														  */
/*			get the configuration descriptor for the CY7c68001	      */
/*	Input:															  */
/*			none													  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
PVOID Sx2GetconfigDesc();
/**********************************************************************/
/*	get the USB's interface 		    							  */
/*	purpose:														  */
/*				get the interface desc of the CY7c68001  		      */
/*	Input:															  */
/*			the interface's struct  								  */
/*																	  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
BOOLEAN Sx2GetPipeInfo(PVOID pInterface);
/**********************************************************************/
/*	send the vendor request			    							  */
/*	purpose:														  */
/*				send the vendor request to the CY7c68001		      */
/*	Input:															  */
/*			myRest struct											  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
BOOLEAN Sx2SendVendorReq(PVOID myRequest,
						 char *buffer,
						 int bufferSize,
						 int *recnBytes);
/**********************************************************************/
/*	bulk date translate  			    							  */
/*	purpose:														  */
/*				stranslate the data between PC and the CY7c68001      */
/*	Input:															  */
/*			the point of myRest struct								  */
/*																	  */
/* Return Value:												      */
/*      the point for string descriptor								  */
/**********************************************************************/
BOOLEAN	Sx2BulkdataTrans(PVOID bulkControl,
						 char *buffer,
						 int bufferSize,
						 int *recnBytes);

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美少妇bbb| 亚洲欧美一区二区不卡| 亚洲精品国产高清久久伦理二区| 午夜久久久久久久久| 成人av网址在线观看| 欧美嫩在线观看| |精品福利一区二区三区| 免费在线观看一区| 色诱亚洲精品久久久久久| 欧美成人一区二区| 亚洲最大的成人av| 99热精品一区二区| 国产欧美中文在线| 国产在线播放一区三区四| 666欧美在线视频| 一区二区三区四区不卡在线| 国产v综合v亚洲欧| 久久久一区二区三区| 日本成人在线一区| 精品视频一区 二区 三区| 亚洲免费视频中文字幕| 成人美女视频在线观看18| 亚洲精品一区二区三区99| 蜜臀av性久久久久av蜜臀妖精| 欧美特级限制片免费在线观看| 国产精品国产三级国产aⅴ原创| 韩国中文字幕2020精品| 精品国产制服丝袜高跟| 老司机午夜精品| 欧美精品一区二| 美女一区二区三区| 日韩欧美资源站| 久久电影网站中文字幕| 欧美一二三四区在线| 蜜桃在线一区二区三区| 欧美一二三区在线观看| 精品一区二区三区免费毛片爱| 欧美一级欧美三级在线观看| 青青草97国产精品免费观看 | 国产成人精品一区二区三区四区| 欧美成人国产一区二区| 精品制服美女久久| 久久无码av三级| 成人视屏免费看| 亚洲欧美福利一区二区| 色中色一区二区| 日韩国产在线观看| 欧美成人国产一区二区| 成人免费观看男女羞羞视频| 亚洲欧美成aⅴ人在线观看| 色婷婷久久99综合精品jk白丝| 亚洲综合色网站| 日韩视频一区二区| 丰满放荡岳乱妇91ww| 亚洲免费在线电影| 欧美一级日韩一级| 成人教育av在线| 亚洲成人免费在线观看| 精品国产凹凸成av人网站| 成人午夜激情在线| 亚洲愉拍自拍另类高清精品| 91精品国产综合久久精品图片| 国产精品系列在线观看| 一区二区三区四区中文字幕| 91精品综合久久久久久| 国产精品一区二区三区网站| 亚洲男人的天堂网| 精品久久国产97色综合| 99国产精品久久| 蜜臀a∨国产成人精品| 中文字幕中文在线不卡住| 欧美日韩精品一区二区三区| 国产精品资源在线| 亚洲国产视频网站| 久久久久九九视频| 欧美日韩国产天堂| 成人精品视频一区二区三区| 午夜成人免费视频| 亚洲三级免费观看| 欧美电视剧在线看免费| 色哟哟欧美精品| 国产超碰在线一区| 麻豆91在线看| 亚洲一区二区欧美日韩 | 国产一区二区精品久久91| 尤物av一区二区| 中文一区在线播放| 精品少妇一区二区三区视频免付费| 97精品国产露脸对白| 国产一区二区三区不卡在线观看 | 国产精品久久久久久久久晋中| 欧美日韩成人综合| 色悠悠久久综合| 丁香五精品蜜臀久久久久99网站| 青青草国产精品亚洲专区无| 亚洲欧美日韩国产成人精品影院| 久久奇米777| 欧美一区二区视频观看视频 | 亚洲午夜精品网| 成人免费在线视频| 日本一区二区三区在线不卡| 在线成人小视频| 欧美日韩在线三级| 91久久线看在观草草青青| 国产成人超碰人人澡人人澡| 国产一区二区三区四区在线观看| 天堂一区二区在线免费观看| 亚洲午夜视频在线| 亚洲精品国产一区二区精华液| 国产精品乱码一区二三区小蝌蚪| 久久综合精品国产一区二区三区| 日韩欧美一级在线播放| 日韩一级片网址| 欧美一区二区在线视频| 欧美精品一二三四| 欧美精品久久久久久久多人混战| 欧美亚洲国产一区二区三区va| 色妹子一区二区| 在线看国产一区二区| 在线观看日韩电影| 欧美剧情片在线观看| 欧美老肥妇做.爰bbww视频| 69堂成人精品免费视频| 欧美一区二区三区视频免费| 91精品欧美久久久久久动漫| 欧美成人精品高清在线播放| wwwwww.欧美系列| 中文字幕av资源一区| 亚洲欧美怡红院| 亚洲一区二区三区视频在线| 视频一区欧美精品| 国产精品99久久久| 99国产精品久| 欧美日本在线一区| 欧美v日韩v国产v| 久久久久国产精品厨房| 日韩美女精品在线| 午夜精品福利一区二区三区蜜桃| 日韩和的一区二区| 国产高清在线观看免费不卡| 99在线热播精品免费| 欧美在线不卡一区| 精品欧美一区二区在线观看| 国产精品天天看| 亚洲韩国一区二区三区| 麻豆成人久久精品二区三区红 | 另类成人小视频在线| 成人99免费视频| 欧美三区在线观看| 精品国产区一区| 亚洲激情图片qvod| 麻豆精品视频在线观看免费| 成人免费电影视频| 日韩亚洲欧美高清| 亚洲欧美日韩中文播放| 青娱乐精品视频| 91亚洲永久精品| 欧美成人video| 亚洲一区二区欧美日韩| 国产精品亚洲午夜一区二区三区| 在线观看欧美精品| 久久久久综合网| 天堂av在线一区| 白白色 亚洲乱淫| 精品久久久久一区二区国产| 亚洲综合在线免费观看| 国产一区二区福利| 欧美高清视频www夜色资源网| 国产精品丝袜久久久久久app| 午夜欧美大尺度福利影院在线看| 成人听书哪个软件好| 欧美草草影院在线视频| 亚洲国产精品天堂| 99re成人精品视频| 国产日本欧美一区二区| 日韩国产欧美三级| 欧美日韩精品系列| 一区二区三区四区亚洲| 波多野结衣中文一区| 久久日韩精品一区二区五区| 日韩黄色在线观看| 欧美日韩一二三| 亚洲美女在线国产| 91丨九色丨黑人外教| 国产欧美一区二区精品久导航| 免费一级欧美片在线观看| 欧美网站大全在线观看| 一区二区三区在线播| 91免费观看国产| 亚洲男同性视频| 91女神在线视频| 中文字幕亚洲区| 99久久精品99国产精品| 中文字幕精品一区二区精品绿巨人 | 日本女人一区二区三区| 欧美精品少妇一区二区三区| 亚洲国产精品久久人人爱| 在线视频一区二区三区| 亚洲一区二区四区蜜桃| 在线观看中文字幕不卡|