📄 main.h
字号:
//---------------------------------------------------------------------------
#ifndef mainH
#define mainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Dialogs.hpp>
#include <ExtCtrls.hpp>
#include <ExtDlgs.hpp>
#include <ComCtrls.hpp>
#include <PSHPACK1.H>
#include <Mask.hpp>
#include <Graphics.hpp>
typedef struct _VENDOR_COMMAND_ITEM {
UCHAR Request;
USHORT Value;
USHORT Index;
unsigned char *Buffer;
PUSHORT BufferLength;
BOOLEAN GetData;
} VENDOR_COMMAND_ITEM, *PVENDOR_COMMAND_ITEM;
#include <POPPACK.H>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TTimer *BulkTimer;
TOpenDialog *OpenDialog1;
TGroupBox *GroupBox1;
TEdit *m_EditFilePath;
TButton *BtnFileOpen;
TButton *BtnBulkOut;
TButton *BtnBulkIn;
TProgressBar *ProgressBar;
TGroupBox *GroupBox2;
TImage *ImageBulkOut;
TGroupBox *GroupBox3;
TImage *ImageBulkIn;
void __fastcall BtnFileOpenClick(TObject *Sender);
void __fastcall BtnBulkOutClick(TObject *Sender);
void __fastcall BulkTimerTimer(TObject *Sender);
void __fastcall BtnBulkInClick(TObject *Sender);
private: // User declarations
public: // User declarations
BOOL m_bGetDevice;
BOOL m_bRunning;
BOOL m_bGetFile;
BOOL m_bBulkIn;
BOOL m_bScr;
char m_szEndpoint1[32] ; // pipe name for interrupt input pipe on our test board
char m_szEndpoint2[32] ;
double m_dFileSize;
unsigned int m_nFileSizeOut;
unsigned int m_nFileSizeIn;
unsigned int m_nLoop;
unsigned int m_nCount;
unsigned int m_nPacketSize;
byte m_byBufFile[128*1024];
byte m_byBufBulkIn[128*1024];
byte m_BufTemp[512];
byte *m_pbyFile;
HANDLE m_hEndpoint0;
HANDLE m_hEndpoint1;
HANDLE m_hEndpoint2;
__fastcall TForm1(TComponent* Owner);
bool OpenDevice(bool bEp0, bool bEp1, bool bEp2);
void CloseDevice();
HANDLE GetDevice(char * pszPipe);
bool GetDevicePath(LPGUID lpGuid, char * pszDevicePath);
bool SetVenderCommand(int nCommand, byte * pbyBuf, unsigned short nLength);
bool GetVenderCommand(int nCommand, byte * pbyBuf, unsigned short nLength);
bool BulkWrite(BYTE * pbyBuf, int nLength);
bool BulkRead(BYTE * pbyBuf, int nLength);
void ShowBulkData(bool bBulkIn);
bool ShowBulkInImage();
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#define BULKUSB_IOCTL_INDEX 0x0800
#define IOCTL_BULKUSB_READ CTL_CODE(FILE_DEVICE_UNKNOWN, \
BULKUSB_IOCTL_INDEX+3,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_BULKUSB_WRITE CTL_CODE(FILE_DEVICE_UNKNOWN, \
BULKUSB_IOCTL_INDEX+4,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_USB_VENDOR_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN, \
BULKUSB_IOCTL_INDEX+5,\
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -