public static CompoundDocument Open(string file) { FileStream fileStream = File.Open(file, FileMode.Open, FileAccess.ReadWrite, FileShare.Read); BinaryReader reader = new BinaryReader(fileStream); FileHeader header = CompoundDocument.ReadHeader(reader); CompoundDocument compoundDocument = new CompoundDocument(fileStream, header); CompoundDocument result; if (!compoundDocument.CheckHeader()) { result = null; } else { compoundDocument.ReadDirectoryEntries(); result = compoundDocument; } return(result); }