CH375DLL.docVIP

  • 45
  • 0
  • 约1.03万字
  • 约 15页
  • 2016-11-21 发布于河南
  • 举报
CH375DLL

CH375DLL // 2003.09.08, 2003.12.28, 2004.10.15, 2004.12.05, 2004.12.10, 2005.01.20, 2005.02.23, 2005.07.15, 2005.08.17 //**************************************** //** Copyright (C) W.ch 1999-2005 ** //** Web: ** //**************************************** //** DLL for USB interface chip CH375 ** //** C, VC5.0 ** //**************************************** // // USB总线接口芯片CH375的应用层接口库 V2.2 // 南京沁恒电子有限公司 作者: W.ch 2005.08 // CH375-DLL V2.2 , Support: Ctrl/Bulk/Int // 运行环境: Windows 98/ME, Windows 2000/XP // support USB chip: CH372/CH375 // #ifndef _CH375_DLL_H #define _CH375_DLL_H #ifdef __cplusplus extern C { #endif #define mOFFSET( s, m ) ( (ULONG) ( ( ( s * ) 0 ) - m ) ) // 定义获取结构成员相对偏移地址的宏 #ifndef max #define max( a, b ) ( ( ( a ) ( b ) ) ? ( a ) : ( b ) ) // 较大值 #endif #ifndef min #define min( a, b ) ( ( ( a ) ( b ) ) ? ( a ) : ( b ) ) // 较小值 #endif #ifdef ExAllocatePool #undef ExAllocatePool // 删除带TAG的内存分配 #endif #ifndef NTSTATUS typedef LONG NTSTATUS; // 返回状态 #endif typedef struct _USB_SETUP_PKT { // USB控制传输的建立阶段的数据请求包结构 UCHAR mUspReqType; // 00H 请求类型 UCHAR mUspRequest; // 01H 请求代码 union { struct { UCHAR mUspValueLow; // 02H 值参数低字节 UCHAR mUspValueHigh; // 03H 值参数高字节 }; USHORT mUspValue; // 02H-03H 值参数 }; union { struct { UCHAR mUspIndexLow; // 04H 索引参数低字节 UCHAR mUspIndexHigh; // 05H 索引参数高字节 }; USHORT mUspIndex; // 04H-05H 索引参数 }; USHORT mLength; // 06H-07H 数据阶段的数据长度 } mUSB_SETUP_PKT, *mPUSB_SETUP_PKT; #define mCH375_PACKET_LENGTH 64 // CH375支持的数据包的长度 #define mCH375_PKT_LEN_SHORT 8 // CH375支持的短数据包的长度 typedef struct _WIN32_COMMAND { // 定义WIN32命令接口结构 union { ULONG mFunction; // 输入时指定功能代码或者管道号 NTSTATUS mStatus; // 输出时返回操作状态 }; ULONG mLength; // 存取长度,返回后续数据的长度 union { mUSB_SETUP_PKT mSetupPkt; // USB控制传输的建立阶段的数据请求 UCHAR mBuffer[ mCH375_PACKET_LENGTH ]; // 数据缓冲区,长度为0至

文档评论(0)

1亿VIP精品文档

相关文档