Example #1
0
        public void Create(ulong driveSize)
        {
            Header = new VhdFooter();
            Header.InitDefaults();
            Header.OrigSize = driveSize.EndianSwap();
            Header.CurSize = driveSize.EndianSwap();

            DynamicDiskHeader = new VhdDynamicDiskHeader();
            DynamicDiskHeader.InitDefaults();

            var batEntryCount = (uint)(driveSize/DynamicDiskHeader.BlockSize.EndianSwap());
            BlockAllocationTable = new uint[(int) batEntryCount];
            for (uint i = 0; i < batEntryCount; i++)
                BlockAllocationTable[i] = 0xFFFFFFFF;

            DynamicDiskHeader.MaxTableEntries = batEntryCount.EndianSwap();

            Header.CalculateChecksum();
            DynamicDiskHeader.CalculateChecksum();
        }
Example #2
0
        public void Create(ulong driveSize)
        {
            Header = new VhdFooter();
            Header.InitDefaults();
            Header.OrigSize = driveSize.EndianSwap();
            Header.CurSize  = driveSize.EndianSwap();

            DynamicDiskHeader = new VhdDynamicDiskHeader();
            DynamicDiskHeader.InitDefaults();


            var batEntryCount = (uint)(driveSize / DynamicDiskHeader.BlockSize.EndianSwap());

            BlockAllocationTable = new uint[(int)batEntryCount];
            for (uint i = 0; i < batEntryCount; i++)
            {
                BlockAllocationTable[i] = 0xFFFFFFFF;
            }

            DynamicDiskHeader.MaxTableEntries = batEntryCount.EndianSwap();

            Header.CalculateChecksum();
            DynamicDiskHeader.CalculateChecksum();
        }