阅读:1511回复:6
USB端点配置问题,大家交流互相进步!!!
小弟目前正急于USB设备驱动的开发,开发工具为Win2K DDK。
目前有些疑问想请教诸位高手。我知道要使能接口是通过 配置设备并析取配置描述符实现。但我想直接在一个配置中 实现一个接口,并且在该接口中有多端点。那当我用DDK实现 数据传输时,该怎样实现对不同端点的写或读呢。我想不至于 要搞成一个配置中,实现多个接口使每个接口包含一种类型的 端点。要对不同端点操作时还要重新配置设备。那DDK简直该玩 完了。 希望大家帮帮忙,我先谢谢了!!! [编辑 - 11/27/02 by wfoog] |
|
最新喜欢:![]()
|
沙发#
发布于:2002-11-28 09:21
大家帮帮忙吧,谢谢了。
|
|
|
板凳#
发布于:2002-11-28 10:49
我现在有些眉目了,好像是通过CreateFile方式打开不同的
端点。望高手们指点。 |
|
|
地板#
发布于:2002-11-28 12:36
是这样的啦。
在APP: 1,自己定义的GUID 2,SetupDiGetClassDevs 3,SetupDiEnumDeviceInterfaces 4,SetupDiGetDeviceInterfaceDetail 就可以获得设备路径名,要打开不同的PIPEXX CreateFile(设备路径名+“\\\\PIPEXX”) 在WDM: 在IRP_MN_CREATE例程中: PIO_STACK_LOCATION pStack=GetCurrentIrpStackLocation 根据pStack->FileObject->FileName.buffer中的文件名(和使用 CreateFile使用的PIPEXX相同)在pStack->FileObject->FsContext 中保存你的PIPE句柄。以后就可以在IRP_MJ_READ/WRITE中访问该IRP的 STACK_LOCATION,从域FileObject中得到PIPE句柄。 ================================ 如果使用DeviceIoCtrol来读写就更方便啦:自己定义几个IOTL_CODE 每一个CODE对应一个PIPE的读/写 |
|
|
地下室#
发布于:2002-11-28 13:33
谢谢!!!真是感激不尽
|
|
|
5楼#
发布于:2002-12-04 17:26
再请教一下大家。我想只打开一次句柄,对不同的端点都能进行操作。且希望在客户端能反应出当前操作的是读还是写管道。那天那位
高手教我的方法是不错。但我学WDM还不太久,希望大家能给我比较 详细的介绍谢谢! 另外我对IRP的认识还不够深入。虽然看了很多资料但还是觉的 不够深入,有谁能帮帮我呀。尤其是它的什么FileObject、Context怎么用我还不是很理解。 |
|
|
6楼#
发布于:2002-12-23 16:30
cquwyb:大家都这么忙,感谢你在百忙之中的帮助。
小小意思不成敬意。 |
|
|