Create() public method

public Create ( uint block ) : BitMap
block uint
return BitMap
Esempio n. 1
0
        public override Block Create(uint block)
        {
            if (!vhdFile.BlockAllocationTable.HasData(block))
            {
                if (cachedBlock == null || cachedBlock.BlockIndex != block)
                {
                    cachedBlock = parentBlockFactory.Create(block);
                }
                return(cachedBlock);
            }

            if (cachedBlock == null || cachedBlock.BlockIndex != block)
            {
                cachedBlock = new Block(this)
                {
                    BlockIndex   = block,
                    VhdUniqueId  = this.vhdFile.Footer.UniqueId,
                    LogicalRange = IndexRange.FromLength(block * GetBlockSize(), vhdFile.Header.BlockSize),
                    BitMap       = bitMapFactory.Create(block),
                    Empty        = false
                };
            }
            return(cachedBlock);
        }