/// <summary> /// Constructor /// </summary> /// <param name="fat">Handle to the Fat of the compound file</param> /// <param name="header">Handle to the header of the compound file</param> /// <param name="fileHandler">Handle to the file handler of the compound file</param> internal DirectoryTree(Fat fat, Header header, InputHandler fileHandler) { this._fat = fat; this._header = header; this._fileHandler = fileHandler; Init(this._header.DirectoryStartSector); }
/// <summary> /// Constructor /// </summary> /// <param name="fat">Handle to the Fat of the compound file</param> /// <param name="header">Handle to the header of the compound file</param> /// <param name="fileHandler">Handle to the file handler of the compound file</param> /// <param name="miniStreamStart">Address of the sector where the mini stream starts</param> internal MiniFat(Fat fat, Header header, InputHandler fileHandler, uint miniStreamStart, ulong sizeOfMiniStream) : base(header, fileHandler) { this._fat = fat; this._miniStreamStart = miniStreamStart; this._sizeOfMiniStream = sizeOfMiniStream; Init(); }
/// <summary>Initalizes a handle to a compound file with the given name</summary> /// <param name="fileName">The name of the file including its path</param> public StructuredStorageReader(string fileName) { try { this._fileHandler = new InputHandler(fileName); this._header = new Header(this._fileHandler); this._fat = new Fat(this._header, this._fileHandler); this._directory = new DirectoryTree(this._fat, this._header, this._fileHandler); this._miniFat = new MiniFat(this._fat, this._header, this._fileHandler, this._directory.GetMiniStreamStart(), this._directory.GetSizeOfMiniStream()); } catch { this.Close(); throw; } }