【发布时间】:2010-01-18 11:54:34
【问题描述】:
一些代码:
typedef struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS {
ULONG Size;
WdfUsbTargetDeviceSelectConfigType Type;
union {
struct {
PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
PUSB_INTERFACE_DESCRIPTOR* InterfaceDescriptors;
ULONG NumInterfaceDescriptors;
} Descriptor;
struct {
PURB Urb;
} Urb;
} Types;
} WDF_USB_DEVICE_SELECT_CONFIG_PARAMS,*PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS; WDF_USB_DEVICE_SELECT_CONFIG_PARAMS 参数;
typedef struct _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。 请注意,这个结构是由我必须访问它的库填充的
【问题讨论】:
-
我已经回滚了这个,所以至少代码是清晰的。请从此时开始进行任何进一步的编辑,当您完成编辑后,检查您所做的工作是否产生清晰的输出!
-
请记住,编辑预览中显示的内容不一定是最终页面上显示的内容。
-
@Neil:干得好......我尝试了几次,包括将代码复制到外部编辑器并在那里整理,但我放弃了。当工会的成员没有缩进时,我发现仍然很难破译。这当然不是你的错,一开始就让人大跌眼镜。
-
@unwind - 是的,我自己也搞不清楚 :-)
-
关于stackoverflow.com/questions/2084077/accessing-double-pointer(以及我对它的评论),请在提交之前尝试校对您的问题,非常感谢一旦你提出问题,尽量不要显着改变问题。我还建议在跑步之前学习走路,即在进入 USB 接口编程之前学习如何处理结构、指针和 typedef。