📄 slusb.h
字号:
/***************************************************************************/
/* ScanLogic Header */
/***************************************************************************/
#ifndef __SLUSB_H__
#define __SLUSB_H__
#include "devioctl.h"
#ifndef __USBDI_H__
typedef struct _USB_DEVICE_DESCRIPTOR {
UCHAR bLength;
UCHAR bDescriptorType;
USHORT bcdUSB;
UCHAR bDeviceClass;
UCHAR bDeviceSubClass;
UCHAR bDeviceProtocol;
UCHAR bMaxPacketSize0;
USHORT idVendor;
USHORT idProduct;
USHORT bcdDevice;
UCHAR iManufacturer;
UCHAR iProduct;
UCHAR iSerialNumber;
UCHAR bNumConfigurations;
} USB_DEVICE_DESCRIPTOR, *PUSB_DEVICE_DESCRIPTOR;
#endif
#define SYSFILE "\\\\.\\USBSCAN0"
typedef struct _IO_SETUP_PKG
{
UCHAR bmRequest;
UCHAR bRequest;
USHORT wValue;
USHORT wIndex;
USHORT wLength;
PBYTE ioBuff;
} SETUP_PKG, *PSETUP_PKG;
#define DevReq SETUP_PKG
#define pDevReq PSETUP_PKG
//-------------------------------------------------- definition
#define USB_FILE_DEVICE 0x8000
#define IOCTL_INDEX 0x800
#define IOCTL_GET_VERSION \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_ABORT_PIPE \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+1,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_WAIT_ON_DEVICE_EVENT\
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+2,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_READ_REGISTERS \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+3,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_WRITE_REGISTERS \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+4,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_GET_CHANNEL_ALIGN_RQST \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+5,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_VENDOR_CONTROL \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+6,METHOD_BUFFERED,FILE_ANY_ACCESS)
#ifdef TIMEOUT
#define IOCTL_TIMEOUT \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+7,METHOD_BUFFERED,FILE_ANY_ACCESS)
#endif
#define IOCTL_RESET_DEVICE \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+8,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define IOCTL_CLEAR_STALL \
CTL_CODE(USB_FILE_DEVICE,IOCTL_INDEX+9,METHOD_BUFFERED,FILE_ANY_ACCESS)
BOOL uVendorCmdRd(BYTE bCmd, WORD wValue, WORD wIndex, WORD wLen, PVOID pData);
BOOL uVendorCmdWr(BYTE bCmd, WORD wValue, WORD wIndex, WORD wLen, PVOID pData);
BOOL uFindUsbDev();
void uCloseUsbDev();
BOOL uDataRead(DWORD cData, PVOID pData);
BOOL uDataRead(DWORD cData, PVOID pData);
#endif // SLUSB_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -