예제 #1
0
        /// <summary>
        /// Reads the specified reader.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <param name="header">The header.</param>
        /// <returns></returns>
        public static bool Read(BinaryReader reader, out PdbSymbolHeader header)
        {
            if (reader == null)
            {
                throw new ArgumentNullException(@"reader");
            }

            header.signature      = reader.ReadInt32();
            header.version        = reader.ReadInt32();
            header.unknown        = reader.ReadInt32();
            header.hash1_file     = reader.ReadInt32();
            header.hash2_file     = reader.ReadInt32();
            header.gsym_stream    = reader.ReadInt16();
            header.unknown1       = reader.ReadInt16();
            header.module_size    = reader.ReadInt32();
            header.offset_size    = reader.ReadInt32();
            header.hash_size      = reader.ReadInt32();
            header.srcmodule_size = reader.ReadInt32();
            header.pdbimport_size = reader.ReadInt32();

            header.resvd = new int[5];
            for (int i = 0; i < 5; i++)
            {
                header.resvd[i] = reader.ReadInt32();
            }

            return(true);
        }
예제 #2
0
        /// <summary>
        /// Reads the specified reader.
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <param name="header">The header.</param>
        /// <returns></returns>
        public static bool Read(BinaryReader reader, out PdbSymbolHeader header)
        {
            if (reader == null)
                throw new ArgumentNullException(@"reader");

            header.signature = reader.ReadInt32();
            header.version = reader.ReadInt32();
            header.unknown = reader.ReadInt32();
            header.hash1_file = reader.ReadInt32();
            header.hash2_file = reader.ReadInt32();
            header.gsym_stream = reader.ReadInt16();
            header.unknown1 = reader.ReadInt16();
            header.module_size = reader.ReadInt32();
            header.offset_size = reader.ReadInt32();
            header.hash_size = reader.ReadInt32();
            header.srcmodule_size = reader.ReadInt32();
            header.pdbimport_size = reader.ReadInt32();

            header.resvd = new int[5];
            for (int i = 0; i < 5; i++)
                header.resvd[i] = reader.ReadInt32();

            return true;
        }