WinCE下编写USB client驱动时会用到的一些API

来源:互联网 发布:视频监控管理平台软件 编辑:程序博客网 时间:2024/05/16 09:53

作者:genovia

转自:http://blog.csdn.net/y84161838/article/details/5746020


USB设备驱动程序主要和USBD打交道,所以我们必须详细的了解USBD提供的函数。

USB系统软件由两层组成:
1.较高的USB Client设备驱动程序
2.较低的由Windows CE实现的USB函数层(第二层由较高的通用串行总线驱动程序USBD模块和较低的控制器驱动程序HCD模块组成。)
HCD模块给USBD模块提供最底层的支持,USBD实现高层的USBD接口函数。USB设备驱动程序使用USBD提供的接口函数和外围设备进行通讯。

WINCE USB系统结构:USB设备驱动程序-》USBD-》HCD-》USB控制器硬件

编写USB设备驱动程序方法:
1.USB设备驱动程序使用USBD模块提供的函数操作USB设备。
2.使用流接口函数
3.使用现有的Windows CE应用程序编程接口(API)

USBD的实现在WINCEROOT/public/common/oak/drivers/usb/USBD 文件夹下有源代码:

USBD的传输函数:10

AbortTransfer :中断传输
CloseTransfer : 关闭传输
GetIsochResults :获取同步传输结果
GetTransferStatus:得到当前的传说状态
IssuBulkTransfer :在特定的端口上初始化块传输
IssueControlTransfer:在特定的端口上初始化控制传输
IssueInterruptTransfer:在特定的端口上初始化中断传输
IssueIsochTransfer:在特定的端口上初始化同步传输
IsTransferComplete :传输结束?
IssueVendorTransfer :在特定的端口上初始化厂商自定义传输

USBD和USB设备建立通讯管道的函数:7
AbortPipeTransfer
ClosePipe
IsDefaultPipeHalted
IsPipeHalted
OpenPipe
ResetDefaultPipe
ResetPipe

USB针对在总线上的数据打包函数:5
GetFrameLength
GetFrameNumber
ReleaseFrameLengthControl
SetFrameLength
TakeFrameLengthControl

取得设置设备配置函数: 8
ClearFeature 
SetDescriptor
GetDescriptor
SetFeature
GetInterface
SetInterface
GetStatus
SyncFrame

与USB进行交互的实现方法相关的多任务函数:10
FindInterface
RegisterClientDeviceId
GetDeviceInfo
RegisterClientSettings
GetUSBDVersion 
RegisterNotificationRoutine
LoadGenericInterfaceDriver      
TranslateStringDescr
OpenClientRegisterKey
UnRegisterNotificationRoutine


原创粉丝点击