【发布时间】:2010-01-18 05:36:11
【问题描述】:
typedef 结构 _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS {
超长尺寸;
WdfUsbTargetDeviceSelectConfigType 类型;
联合{
struct {
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
PUSB_INTERFACE_DESCRIPTOR* InterfaceDescriptors;
ULONG NumInterfaceDescriptors;
} Descriptor;
struct {
PURB Urb;
} Urb;
struct {
UCHAR NumberConfiguredPipes;
WDFUSBINTERFACE ConfiguredUsbInterface;
} SingleInterface;
struct {
UCHAR NumberInterfaces;
PWDF_USB_INTERFACE_SETTING_PAIR Pairs;
UCHAR NumberOfConfiguredInterfaces;
} MultiInterface;
} 类型;
} WDF_USB_DEVICE_SELECT_CONFIG_PARAMS,*PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS;
WDF_USB_DEVICE_SELECT_CONFIG_PARAMS 参数;
typedef 结构 _USB_INTERFACE_DESCRIPTOR {
UCHAR bLength ;
UCHAR bInterfaceClass ;
UCHAR bInterfaceSubClass ;
} USB_INTERFACE_DESCRIPTOR, *PUSB_INTERFACE_DESCRIPTOR ;
能够通过 -> params.Types.Descriptor.NumInterfaceDescriptors 访问 NumInterfaceDescriptors
我想通过 WDF_USB_DEVICE_SELECT_CONFIG_PARAMS 访问 bInterfaceClass。 请注意,这个结构由库填充,我必须访问它
【问题讨论】:
-
为什么要 IntDesc 类型是双指针? typedef PUSB_INTERFACE_DESCRIPTOR* IntDesc;使用单个指针不是更容易吗?这里的另一层间接有什么好处?
-
嘿,伙计...你已经两次大大改变了问题,每次打破以前的有效答案,每次打破其他人的布局以前为您修复过。我对那些对别人的时间如此粗心的人没有耐心。 -1 来自我,我不会再费心编辑/回答您的问题。
-
哦,顺便说一句,这现在是 stackoverflow.com/questions/2085761/… 的副本