Exemple #1
0
        public void LoadHeaders(string filename)
        {
            try
            {
                this.Filename = filename;
                footer        = new Footer();
                footer.FromFile(filename);

                if (footer.DataOffset > 0)
                {
                    dynamicHeader = new DynamicHeader();
                    dynamicHeader.FromFile(filename, (int)footer.DataOffset);
                    blockAllocationTable = new BlockAllocationTable(dynamicHeader.TableOffset, dynamicHeader.BlockSize, dynamicHeader.MaxTableEntries);
                    blockAllocationTable.FromFile(filename);
                    masterBootRecord = new MasterBootRecord(blockAllocationTable);
                    // ShowUsage();
                    // ShowDetailedUsage();
                }
                else
                {
                    masterBootRecord = new MasterBootRecord(filename, 0);
                    // MessageBox.Show("So far all the good stuff involves Dynamic VHDs, so all you get is this pretty box really.", "Fixed VHD", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (VhdReadException ex)
            {
                this.vhdReadException = ex;
            }
        }