📄 usbdriver.h
字号:
//---------------------------------------------------------------------------
#ifndef _USBDriver_H_
#define _USBDriver_H_
#include <vcl.h>
#include <dir.h>
#include <setupapi.h>
//#include "C:/WINDDK/2600.1106/inc/ddk/w2k/usbdi.h"
//#include "C:/WINDDK/2600.1106/inc/ddk/w2k/devioctl.h"
#include <initguid.h>
//---------------------------------------------------------------------------
#define MAX_DEVICENAME_LEN 300
#define USB_WRITEPIPE "PIPE01"
#define USB_READPIPE "PIPE00"
// GUID
//DEFINE_GUID(USB_DRIVER_GUID, 0x96E73B6E, 0x7A5A, 0x11D4, 0x9F, 0x24, 0x00, 0x80, 0xC8, 0x27, 0x27, 0xF4);
DEFINE_GUID(USB_DRIVER_GUID, 0xdda31245, 0x1bfc, 0x4225, 0xb2, 0xb8, 0xea, 0xaa, 0xb2, 0xe3, 0x90, 0xb6);
class USBDriver
{
private: // private user declarations
protected:
HANDLE hUSB_Read;
HANDLE hUSB_Write;
public: // public user declarations
char *DeviceName;
USBDriver()
{
DeviceName = new char[MAX_DEVICENAME_LEN];
memset(DeviceName, 0x00, MAX_DEVICENAME_LEN);
}
~USBDriver()
{
delete DeviceName;
}
HANDLE OpenOneDevice(HDEVINFO hDvcInfo, PSP_INTERFACE_DEVICE_DATA DvcInfoData, char *sDevNameBuf);
HANDLE OpenUsbDevice(const GUID *pGuid, char *sDevNameBuf);
bool GetUsbDeviceFileName(const GUID *pGuid, char *sDevNameBuf);
HANDLE OpenMyDevice(void);
HANDLE OpenMyDevPipe(const char *PipeName);
bool SendToDevice(HANDLE hUSB_Handle, char *buf, DWORD len);
DWORD ReadFromDevice(HANDLE hUSB_Handle, char *buf, DWORD len);
void USBDriver_Init(void);
bool ConnectToUSBDevice(void);
void DisconnectFromUSBDevice(void);
bool CodeUpdate(int type, char *buf, DWORD len);
};
unsigned int ltob_16(unsigned int a);
unsigned long ltob_32(unsigned long a);
#endif // _USBDriver_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -