Ejemplo n.º 1
0
 public GPTScheme(absImageStream fileset) : base(fileset)
 {
     entries               = new List <GPTScheme.entry>();
     backupEntries         = new List <GPTScheme.entry>();
     headerMatchesCRC      = false;
     tableMatchesCRC       = false;
     headerFound           = false;
     backupFound           = false;
     backupMatchesCRC      = false;
     backupTableMatchesCRC = false;
     protectiveMBRExists   = false;
     header       = new GPTHeader();
     backupHeader = new GPTHeader();
     runChecks();
 }
Ejemplo n.º 2
0
 public GPTScheme(absImageStream fileset)
     : base(fileset)
 {
     entries = new List<GPTScheme.entry>();
     backupEntries = new List<GPTScheme.entry>();
     headerMatchesCRC = false;
     tableMatchesCRC = false;
     headerFound = false;
     backupFound = false;
     backupMatchesCRC = false;
     backupTableMatchesCRC = false;
     protectiveMBRExists = false;
     header = new GPTHeader();
     backupHeader = new GPTHeader();
     runChecks();
 }
Ejemplo n.º 3
0
        private GPTHeader getHeader(byte[] buffer, absImageStream fileset, GPTHeader theHeader)
        {
            byte[] findguid = new byte[16];
            Array.Copy(buffer, 0x38, findguid, 0, 16);

            theHeader.revision     = BitConverter.ToInt32(buffer, 0x08);
            theHeader.headersize   = BitConverter.ToInt32(buffer, 0x0C);
            theHeader.headercheck  = BitConverter.ToUInt32(buffer, 0x10);
            theHeader.mainheader   = BitConverter.ToInt64(buffer, 0x18);
            theHeader.backupheader = BitConverter.ToInt64(buffer, 0x20);
            theHeader.firstlba     = BitConverter.ToInt64(buffer, 0x28);
            theHeader.lastlba      = BitConverter.ToInt64(buffer, 0x30);
            theHeader.diskguid     = new Guid(findguid);
            theHeader.tablestart   = BitConverter.ToInt32(buffer, 0x48);
            numberofentries        = BitConverter.ToInt32(buffer, 0x50);
            sizeofentry            = BitConverter.ToInt32(buffer, 0x54);
            theHeader.tablecheck   = BitConverter.ToUInt32(buffer, 0x58);

            tablelength = numberofentries * sizeofentry;

            return(theHeader);
        }
Ejemplo n.º 4
0
        private GPTHeader getHeader(byte[] buffer, absImageStream fileset, GPTHeader theHeader)
        {
            byte[] findguid = new byte[16];
            Array.Copy(buffer, 0x38, findguid, 0, 16);

            theHeader.revision = BitConverter.ToInt32(buffer, 0x08);
            theHeader.headersize = BitConverter.ToInt32(buffer, 0x0C);
            theHeader.headercheck = BitConverter.ToUInt32(buffer, 0x10);
            theHeader.mainheader = BitConverter.ToInt64(buffer, 0x18);
            theHeader.backupheader = BitConverter.ToInt64(buffer, 0x20);
            theHeader.firstlba = BitConverter.ToInt64(buffer, 0x28);
            theHeader.lastlba = BitConverter.ToInt64(buffer, 0x30);
            theHeader.diskguid = new Guid(findguid);
            theHeader.tablestart = BitConverter.ToInt32(buffer, 0x48);
            numberofentries = BitConverter.ToInt32(buffer, 0x50);
            sizeofentry = BitConverter.ToInt32(buffer, 0x54);
            theHeader.tablecheck = BitConverter.ToUInt32(buffer, 0x58);

            tablelength = numberofentries * sizeofentry;

            return theHeader;
        }