xiang
驱动牛犊
驱动牛犊
  • 注册日期2001-06-12
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1880回复:1

百思不解!

楼主#
更多 发布于:2001-05-28 20:28
 NTSTATUS UsbBulkDevice::DefaultPnp(KIrp I)
{ static char* minors[] = {
"IRP_MN_START_DEVICE",
"IRP_MN_QUERY_REMOVE_DEVICE",
               ..............
                      ..............
                "IRP_MN_SURPRISE_REMOVAL"
};
ULONG Minor = I.MinorFunction();
CHAR* IrpName;
if ( Minor < IRP_MN_SURPRISE_REMOVAL )
IrpName = minors[Minor];
    //此处我觉得怪异,IrpName赋值后是I.MinorFunction吗?
    //I.MinorFunction怎么会正好是服从minors[]的顺序呢?   //minors[]似乎并不是规定的顺序呀!  
          else
IrpName = "<unknown>";
DbgPrint("Pnp IRP minor function=%s\n", IrpName);
I.ForceReuseOfCurrentStackLocationInCalldown();
return m_Usb.PnpCall(this, I);
}
问题二:
// initialize description of data in pipe (In Bulk)
    m_Endpoints[0].Initialize(1, 0, 0, 0x81, &m_Interface, &m_Pipe0);
 // initialize description of data out pipe (Out Bulk)
    m_Endpoints[1].Initialize(1, 0, 0, 0x2, &m_Interface, &m_Pipe1);
    //这两个初始化各个参数是什么意思,帮助中找不到吗!
  而且: USB_ENDPOINT m_Endpoints[2];
   USB_ENDPOINT类型根本找不到哇!给管道初始化不就够了吗?还要给端点初始化???


principal
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2014-02-12
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望62点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-05-29 18:55
虽然我不知道,可是hora 的态度可不对。

我们不但要知其然还要志气所以然。就向侯俊杰老先生所说的,有一样技术不明白他的道理实在是不明智
游客

返回顶部