示例#1
0
        private void DecodePrivileges()
        {
            IntPtr ipprivs = TGP.Privileges;

            for (int privcnt = 1; privcnt <= TGP.PrivilegeCount; privcnt++)
            {
                LUID_AND_ATTRIBUTES la = (LUID_AND_ATTRIBUTES)Marshal.PtrToStructure(ipprivs, typeof(LUID_AND_ATTRIBUTES));

                PrivilegeInfo pinfo = new PrivilegeInfo(privcnt, la);

                Privileges.AddSafe(pinfo);

                PrivilegesStringList.AddSafe(pinfo.Name);

                try
                {
                    ipprivs = (IntPtr)((Int64)ipprivs + Marshal.SizeOf(typeof(LUID_AND_ATTRIBUTES)));
                }

                catch (Exception)
                { break; }
            }
        }