⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 slusb.h

📁 包括EZ811和SL811的文档
💻 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 + -