📄 myusb.h
字号:
#include <basetyps.h>
#include <initguid.h>
#include <devioctl.h>
#include <usbioctl.h>
#include <dbt.h>
#include <cfgmgr32.h>
#include <winioctl.h>
#include <string.h>
#include <usb100.h>
#define ALLOC(dwBytes) GlobalAlloc(GPTR,(dwBytes))
#define REALLOC(hMem, dwBytes) GlobalReAlloc((hMem), (dwBytes), (GMEM_MOVEABLE|GMEM_ZEROINIT))
#define FREE(hMem) GlobalFree((hMem))
#define CHECKFORLEAKS()
#define NUM_HCS_TO_CHECK 0x7F
#define USB_HID_DESCRIPTOR_TYPE 0x21
typedef struct
{
USHORT usVendorID;
PCHAR szVendor;
} USBVENDORID, *PUSBVENDORID;
typedef struct _STRING_DESCRIPTOR_NODE
{
struct _STRING_DESCRIPTOR_NODE *Next;
UCHAR DescriptorIndex;
USHORT LanguageID;
USB_STRING_DESCRIPTOR StringDescriptor[0];
} STRING_DESCRIPTOR_NODE, *PSTRING_DESCRIPTOR_NODE;
typedef struct
{
PUSB_NODE_INFORMATION HubInfo; // NULL if not a HUB
PCHAR HubName; // NULL if not a HUB
PUSB_NODE_CONNECTION_INFORMATION ConnectionInfo; // NULL if root HUB
PUSB_DESCRIPTOR_REQUEST ConfigDesc; // NULL if root HUB
PSTRING_DESCRIPTOR_NODE StringDescs;
} USBDEVICEINFO, *PUSBDEVICEINFO;
// Common Class Endpoint Descriptor
//
typedef struct _USB_ENDPOINT_DESCRIPTOR2
{
UCHAR bLength; // offset 0, size 1
UCHAR bDescriptorType; // offset 1, size 1
UCHAR bEndpointAddress; // offset 2, size 1
UCHAR bmAttributes; // offset 3, size 1
USHORT wMaxPacketSize; // offset 4, size 2
USHORT wInterval; // offset 6, size 2
UCHAR bSyncAddress; // offset 8, size 1
} USB_ENDPOINT_DESCRIPTOR2, *PUSB_ENDPOINT_DESCRIPTOR2;
// Common Class Interface Descriptor
//
typedef struct _USB_INTERFACE_DESCRIPTOR2
{
UCHAR bLength; // offset 0, size 1
UCHAR bDescriptorType; // offset 1, size 1
UCHAR bInterfaceNumber; // offset 2, size 1
UCHAR bAlternateSetting; // offset 3, size 1
UCHAR bNumEndpoints; // offset 4, size 1
UCHAR bInterfaceClass; // offset 5, size 1
UCHAR bInterfaceSubClass; // offset 6, size 1
UCHAR bInterfaceProtocol; // offset 7, size 1
UCHAR iInterface; // offset 8, size 1
USHORT wNumClasses; // offset 9, size 2
} USB_INTERFACE_DESCRIPTOR2, *PUSB_INTERFACE_DESCRIPTOR2;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -