首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

vc的结构有关问题

2012-01-20 
vc的结构问题typedefstruct_SP_DEVINFO_DATA{DWORDcbSizeGUIDClassGuidDWORDDevInstULONG_PTRReserved

vc的结构问题
typedef   struct   _SP_DEVINFO_DATA   {  
  DWORD   cbSize;  
  GUID   ClassGuid;
    DWORD   DevInst;  
  ULONG_PTR   Reserved;
}   SP_DEVINFO_DATA,   *PSP_DEVINFO_DATA;
在vc中sizeof取得结构的大小是28。

转换到c#中
[StructLayout(LayoutKind.Sequential)]
                public   class   SP_DEVINFO_DATA
                {
                        public   UInt32   cbSize;
                        public   Guid   ClassGuid;
                        public   UInt32   DevInst;  
                        public   ulong   Reserved;
                };
          SP_DEVINFO_DATA   spData   =   new   SP_DEVINFO_DATA();
spData.cbSize   =   (UInt32)System.Runtime.InteropServices.Marshal.SizeOf(spData);

大小为什么变成了32?

[解决办法]
ref:
http://www.pinvoke.net/default.aspx/setupapi/SetupDiEnumDeviceInfo.html

热点排行