我正在读取具有URB类型的USB数据包。 URB标题在http://msdn.microsoft.com/en-us/library/windows/hardware/ff540409(v=vs.85).aspx定义为
struct _URB_HEADER {
USHORT Length;
USHORT Function;
USBD_STATUS Status;
PVOID UsbdDeviceHandle;
ULONG UsbdFlags;
};
我应该为PVOID读取多少位?
由于
答案 0 :(得分:2)
由于这是指针类型,因此它取决于您的平台。 x86为32位; x64为64位。
我对这些库并不熟悉,但你应该使用这些字段吗?您分享的链接显示“保留。请勿使用”。
修改强>: 无视最后的陈述。我刚刚意识到结构只是标题。当然,你需要知道该字段的大小才能到达身体。 :)
答案 1 :(得分:2)
感谢您的评论 - 阅读它们,看起来像是使用
byte [] ptr_bytes = rdr.ReadBytes(System.IntPtr.Size);
将根据操作系统正确提供指针的大小。