在c#中读取PVOID,我应该读取多少位?

本文关键字:读取 多少 我应该 PVOID | 更新日期: 2023-09-27 18:10:39

我正在读取具有URB类型的USB数据包。在http://msdn.microsoft.com/en-us/library/windows/hardware/ff540409(v=vs.85).aspx定义为

的URB头
 struct _URB_HEADER {
    USHORT      Length;
    USHORT      Function;
    USBD_STATUS Status;
    PVOID       UsbdDeviceHandle;
    ULONG       UsbdFlags;
 };

我应该为PVOID读取多少位?

在c#中读取PVOID,我应该读取多少位?

由于这是指针类型,因此它取决于您的平台。32位用于x86;64位用于x64。

我不是很精通这些库,但是你应该使用这些字段吗?你分享的链接写着"保留"。不要使用。

编辑:忽略最后一句话。我刚刚意识到结构只是头部。当然,你需要知道磁场的大小,这样才能得到物体。:)

感谢您的评论-阅读它们,看起来像使用

 byte [] ptr_bytes = rdr.ReadBytes(System.IntPtr.Size);

将根据操作系统正确提供指针的大小。