阅读:2197回复:3
奇怪!
pUrb = m_Usb.BuildVendorRequest(
buffer, 8, 0, 3, offset, TRUE, TRUE, NULL, value, URB_FUNCTION_VENDOR_ENDPOINT //function ); 这段代码有十个参数,而在driverworks 的联机帮助文当中: FORM 1: PURB BuildVendorRequest( PUCHAR TransferBuffer, ULONG TransferBufferLength, UCHAR RequestTypeReservedBits, UCHAR Request, USHORT Value, BOOLEAN bIn=FALSE, BOOLEAN bShortOk=FALSE, PURB Link=NULL, PURB pUrb=NULL ); FORM 2: PURB BuildVendorRequest( KMemory& TransferBufferMDL, ULONG TransferBufferLength, UCHAR RequestTypeReservedBits, UCHAR Request, USHORT Value, BOOLEAN bIn=FALSE, BOOLEAN bShortOk=FALSE, PURB Link=NULL, PURB pUrb=NULL ); 不管是FORM1 还是 FORM2都只有9个参数,看了看是由于多出最后一个参数//function,这是怎么回事??? |
|
沙发#
发布于:2001-05-14 17:56
URB_FUNCTION_VENDOR_ENDPOINT //function
应该对应的是那个PURB pUrb吧,多出来的大概是那个value吧,嘿嘿~~不明白 |
|
|
板凳#
发布于:2001-05-15 10:18
尽管我也不知道怎么回事,但是希望能够抛砖引玉,启发启发你。
在SDK中,经常由于重构的缘故。新类继承父类后,会重构一部分参数。把没必要设定的值,自动设定上。 driverstudio不是号称用C++的类开发吗?是不是被重构了,你没发现? 而且,没有编译的时候会出错吗?会吗?我就经常把最后的一串NULL空着不写。其实也真的不用写。只要你是用VC编译。不是在命令行build.就不会有什么错出来。 |
|
|
地板#
发布于:2001-05-15 12:23
不谢不谢。给点掌声可以吗?
还有,你怎么个看错法,最好也说明白。 省得别人看我们的帖子,还是糊里糊涂的没头没尾。最好,能让大家从中得到一些帮助才好。 所以,还是希望你受累,把结果写上。 |
|
|