更新时间:2022-09-16 11:17:58
/**
* 设备描述符
*/
typedef struct _DEVICE_DESC
{ BYTE bLength;
BYTE bDescriptorType;
WORD bcdUSB;
BYTE bDeviceClass;
BYTE bDeviceSubClass;
BYTE bDeviceProtocol;
BYTE bMaxPacketSize0;
WORD idVendor;
WORD idProduct;
WORD bcdDevice;
BYTE iManufacturer;
BYTE iProduct;
BYTE iSerialNumber;
BYTE bNumConfigurations;
} DEVICE_DESC, *pDevDesc;
/**
* 配置描述符
*/
typedef struct _CFGDESC
{
BYTE bLength; // Size of descriptor in Byte
BYTE bType; // Configuration
WORD wLength; // Total length
BYTE bNumIntf; // Number of interface
BYTE bCV; // bConfigurationValue
BYTE bIndex; // iConfiguration
BYTE bAttr; // Configuration Characteristic
BYTE bMaxPower; // Power config
BYTE rsvd;
} CFG_DESC, *pCfgDesc;
/**
* 接口描述符
*/
typedef struct _INTF_DESC
{ BYTE bLength;
BYTE bType;
BYTE iNum;
BYTE iAltString;
BYTE bEndPoints;
BYTE iClass;
BYTE iSub;
BYTE iProto;
BYTE iIndex;
} INTF_DESC, *pIntfDesc;
/**
* 端点描述符
*/
typedef struct _ED_DESC
{ BYTE bLength;
BYTE bType;
BYTE bEPAdd;
BYTE bAttr;
WORD wPayLoad; // low-speed this must be 0x08
BYTE bInterval;
BYTE rsvd;
} ED_DESC, *pEPDesc;
|