📄 funfile.cpp
字号:
#include "stdafx.h"
#include "ezusbsys.h"
#include "winioctl.h"
#include "usb100.h"
#include "usbdi.h"
unsigned char BulkReadData[8];
unsigned char BulkWriteData[8];
HANDLE hOpenDevice()
{
HANDLE hDevice=0;
hDevice=CreateFile("\\\\.\\Ezusb-0",
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL
);
if(!(hDevice&&(~((int)hDevice))))
{
hDevice=0;
return hDevice;
}
return hDevice;
}
unsigned char *GetPipeInfo(HANDLE hDriver)
{
static USBD_INTERFACE_INFORMATION PipeInfo;
int BytesTxd;
if(!DeviceIoControl(
hDriver,
IOCTL_Ezusb_GET_PIPE_INFO,
NULL,0,
(LPVOID)&PipeInfo,sizeof(USBD_INTERFACE_INFORMATION),
(LPDWORD)&BytesTxd,NULL
))
return NULL;
else
return (unsigned char *)(&PipeInfo);
}
int BulkRead(HANDLE hDriver)
{ int BytesTxd;
BULK_TRANSFER_CONTROL bulkcontrol;
bulkcontrol.pipeNum=0;
if(!DeviceIoControl(
hDriver,
IOCTL_EZUSB_BULK_READ,
(LPVOID)&bulkcontrol,sizeof(BULK_TRANSFER_CONTROL),
(LPVOID)BulkReadData,8,
(LPDWORD)&BytesTxd,NULL))
return 0;
else return 1;
}
int BulkWrite(HANDLE hDriver)
{
int BytesTxd;
BULK_WRITE_CONTROL bulkcontrol;
bulkcontrol.pipeNum=1;
for(int i=0;i<8;i++)
bulkcontrol.data[i]=BulkWriteData[i];
if(!DeviceIoControl(
hDriver,
IOCTL_EZUSB_WRITE,
(LPVOID)&bulkcontrol,sizeof(BULK_WRITE_CONTROL),
NULL,0,
(LPDWORD)&BytesTxd,NULL))
return 0;
else return 1;
}
int Reset8051Hold(HANDLE hDriver)
{
int BytesTxd;
if(!DeviceIoControl(
hDriver,
IOCTL_8051_RESET_HOLD,
NULL,0,
NULL,0,
(LPDWORD)&BytesTxd,NULL))
return 0;
else return 1;
}
int Reset8051Free(HANDLE hDriver)
{
int BytesTxd;
if(!DeviceIoControl(
hDriver,
IOCTL_8051_RESET_FREE,
NULL,0,
NULL,0,
(LPDWORD)&BytesTxd,NULL))
return 0;
else return 1;
}
int VendorCmmd(HANDLE hDriver,int swa,int swb)
{
VENDOR_OR_CLASS_REQUEST_CONTROL vmd;
vmd.requestType =2;//2 vendor
vmd.recepient=0;// recipient (0=device,1=interface,2=endpoint,3=other)
vmd.request=0xb0;
vmd.direction=0;//out
vmd.index=1;
vmd.value=0;
if(swa) vmd.value=1;
if(swb) vmd.value+=2;
UINT inLength=sizeof(VENDOR_OR_CLASS_REQUEST_CONTROL);
UINT BytesTxd;
if(!DeviceIoControl(
hDriver,
IOCTL_EZUSB_VENDOR_OR_CLASS_REQUEST,
(LPVOID )&vmd,inLength,
NULL,0,
(LPDWORD )&BytesTxd,NULL))
{
return 0 ;
}
else
return 1;
}
int CloseDevice(HANDLE hDriver)
{
if(CloseHandle(hDriver))
return 1;
else
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -