为啥USB端点只能获取第一个的Descriptor

为什么USB端点只能获取第一个的Descriptor
最近开发一个USB驱动程序,
通过USB Monitor知道USB设备有两个端点 
in : 地址 0x82 包大小 0x40
out : 地址 0x02 包大小 0x40

同时:Interface.Descriptor.nEndPointNumber = 0x02

在usb驱动程序中,获取到USB的Confing后,同样的
Interface.Descriptor.nEndPointNumber = 0x02
接下来使用
Config->lpInterface->lpEndpoints[0].Descriptor能够正常获取端点1的信息:地址 0x82 最大包 0x40
              和USB Monitor中得到的属性一致
但是使用
Config->lpInterface->lpEndpoints[1].Descriptor就不能获取端点2的信息
                地址 包大小都为随机数字

尝试过采用如下方式(大概意思)
pPoint =  lpEndpoints
pPoint.Descriptor
pPoint ++
pPoint.Descriptor
和上面的方式一样,只能获取到第一个端点

为什么不能获取到第二个端点的属性?
访问方法错误吗?在网上找了很多资料,都是这样的啊。
------解决方案--------------------
猜一下 Config是指向IN的?
------解决方案--------------------
楼主,由于我也做一个HID设备,现在能实现数据从设备至PC,可是怎样修改收发部分部分,都无法实现数据从PC至设备,而且我用BUSHOND都无法检测到端点,请问能否请教相关问题