示例#1
0
        private static HWID.HW_PROFILE_INFO ProfileInfo()
        {
            IntPtr num = IntPtr.Zero;

            try
            {
                HWID.HW_PROFILE_INFO hwProfileInfo = new HWID.HW_PROFILE_INFO();
                num = Marshal.AllocHGlobal(Marshal.SizeOf((object)hwProfileInfo));
                Marshal.StructureToPtr((object)hwProfileInfo, num, false);
                if (!HWID.GetCurrentHwProfile(num))
                {
                    throw new Exception("Error cant get current hw profile!");
                }
                Marshal.PtrToStructure(num, (object)hwProfileInfo);
                return(hwProfileInfo);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
            finally
            {
                if (num != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(num);
                }
            }
        }