public PROJECTLIBFLAGS(XlBinaryReader Data)
        {
            this.Id              = Data.ReadUInt16();
            this.Size            = Data.ReadUInt32();
            this.ProjectLibFlags = Data.ReadUInt32();

            Validate();
        }
        public PROJECTSYSKIND(XlBinaryReader Data)
        {
            this.Id      = Data.ReadUInt16();
            this.Size    = Data.ReadUInt32();
            this.SysKind = Data.ReadUInt32();

            Validate();
        }
예제 #3
0
        public PROJECTLCID(XlBinaryReader Data)
        {
            this.Id   = Data.ReadUInt16();
            this.Size = Data.ReadUInt32();
            this.Lcid = Data.ReadUInt32();

            Validate();
        }
        public PROJECTHELPCONTEXT(XlBinaryReader Data)
        {
            this.Id          = Data.ReadUInt16();
            this.Size        = Data.ReadUInt32();
            this.HelpContext = Data.ReadUInt32();

            Validate();
        }
예제 #5
0
        public PROJECTVERSION(XlBinaryReader Data)
        {
            this.Id           = Data.ReadUInt16();
            this.Reserved     = Data.ReadUInt32();
            this.VersionMajor = Data.ReadUInt32();
            this.VersionMinor = Data.ReadUInt16();

            Validate();
        }
예제 #6
0
        public REFERENCEREGISTERED(XlBinaryReader Data)
        {
            this.Id          = Data.ReadUInt16();
            this.Size        = Data.ReadUInt32();
            this.SizeOfLibid = Data.ReadUInt32();
            this.Libid       = Data.ReadBytes(this.SizeOfLibid);
            this.Reserved1   = Data.ReadUInt32();
            this.Reserved2   = Data.ReadUInt16();

            Validate();
        }
예제 #7
0
        public PROJECTHELPFILEPATH(PROJECTINFORMATION parent, XlBinaryReader Data)
        {
            this.parent = parent;

            this.Id = Data.ReadUInt16();
            this.SizeOfHelpFile1 = Data.ReadUInt32();
            this.HelpFile1       = Data.ReadBytes(this.SizeOfHelpFile1);
            this.Reserved        = Data.ReadUInt16();
            this.SizeOfHelpFile2 = Data.ReadUInt32();
            this.HelpFile2       = Data.ReadBytes(this.SizeOfHelpFile2);

            Validate();
        }
        public PROJECTCONSTANTS(PROJECTINFORMATION parent, XlBinaryReader Data)
        {
            this.parent = parent;

            this.Id = Data.ReadUInt16();
            this.SizeOfConstants        = Data.ReadUInt32();
            this.Constants              = Data.ReadBytes(this.SizeOfConstants);
            this.Reserved               = Data.ReadUInt16();
            this.SizeOfConstantsUnicode = Data.ReadUInt32();
            this.ConstantsUnicode       = Data.ReadBytes(this.SizeOfConstantsUnicode);

            Validate();
        }
예제 #9
0
        public MODULESTREAMNAME(PROJECTINFORMATION ProjectInformation, XlBinaryReader Data)
        {
            this.ProjectInformation = ProjectInformation;

            this.Id = Data.ReadUInt16();
            this.SizeOfStreamName        = Data.ReadUInt32();
            this.StreamName              = Data.ReadBytes(this.SizeOfStreamName);
            this.Reserved                = Data.ReadUInt16();
            this.SizeOfStreamNameUnicode = Data.ReadUInt32();
            this.StreamNameUnicode       = Data.ReadBytes(this.SizeOfStreamNameUnicode);

            Validate();
        }
예제 #10
0
        public PROJECTDOCSTRING(PROJECTINFORMATION parent, XlBinaryReader Data)
        {
            this.parent = parent;

            this.Id = Data.ReadUInt16();
            this.SizeOfDocString        = Data.ReadUInt32();
            this.DocString              = Data.ReadBytes(Convert.ToInt32(this.SizeOfDocString));
            this.Reserved               = Data.ReadUInt16();
            this.SizeOfDocStringUnicode = Data.ReadUInt32();
            this.DocStringUnicode       = Data.ReadBytes(Convert.ToInt32(this.SizeOfDocStringUnicode));

            Validate();
        }
예제 #11
0
        public REFERENCENAME(PROJECTINFORMATION ProjectInformation, XlBinaryReader Data)
        {
            this.ProjectInformation = ProjectInformation;

            this.Id                = Data.ReadUInt16();
            this.SizeOfName        = Data.ReadUInt32();
            this.Name              = Data.ReadBytes(this.SizeOfName);
            this.Reserved          = Data.ReadUInt16();
            this.SizeOfNameUnicode = Data.ReadUInt32();
            this.NameUnicode       = Data.ReadBytes(this.SizeOfNameUnicode);

            Validate();
        }
예제 #12
0
        public REFERENCEPROJECT(PROJECTINFORMATION ProjectInformation, XlBinaryReader Data)
        {
            this.ProjectInformation = ProjectInformation;

            this.Id   = Data.ReadUInt16();
            this.Size = Data.ReadUInt32();
            this.SizeOfLibidAbsolute = Data.ReadUInt32();
            this.LibidAbsolute       = Data.ReadBytes(this.SizeOfLibidAbsolute);
            this.SizeOfLibidRelative = Data.ReadUInt32();
            this.LibidRelative       = Data.ReadBytes(this.SizeOfLibidRelative);
            this.MajorVersion        = Data.ReadUInt32();
            this.MinorVersion        = Data.ReadUInt16();

            Validate();
        }
예제 #13
0
        public MODULE(PROJECTINFORMATION ProjectInformation, XlBinaryReader Data)
        {
            this.NameRecord        = new MODULENAME(ProjectInformation, Data);
            this.NameUnicodeRecord = new MODULENAMEUNICODE(Data);
            this.StreamNameRecord  = new MODULESTREAMNAME(ProjectInformation, Data);
            this.DocStringRecord   = new MODULEDOCSTRING(Data);
            this.OffsetRecord      = new MODULEOFFSET(Data);
            this.HelpContextRecord = new MODULEHELPCONTEXT(Data);
            this.CookieRecord      = new MODULECOOKIE(Data);
            this.TypeRecord        = new MODULETYPE(Data);

            if (Data.PeekUInt16() == (UInt16)0x0025)
            {
                this.ReadOnlyRecord = new MODULEREADONLY(Data);
            }

            if (Data.PeekUInt16() == (UInt16)0x0028)
            {
                this.PrivateRecord = new MODULEPRIVATE(Data);
            }

            this.Terminator = Data.ReadUInt16();
            this.Reserved   = Data.ReadUInt32();

            Validate();
        }
        public PROJECTCODEPAGE(XlBinaryReader Data)
        {
            this.Id       = Data.ReadUInt16();
            this.Size     = Data.ReadUInt32();
            this.CodePage = Data.ReadUInt16();

            Validate();
        }
예제 #15
0
        public MODULENAMEUNICODE(XlBinaryReader Data)
        {
            this.Id = Data.ReadUInt16();
            this.SizeOfModuleNameUnicode = Data.ReadUInt32();
            this.ModuleNameUnicode       = Data.ReadBytes(this.SizeOfModuleNameUnicode);

            Validate();
        }
예제 #16
0
        public REFERENCEORIGINAL(XlBinaryReader Data)
        {
            this.Id = Data.ReadUInt16();
            this.SizeOfLibidOriginal = Data.ReadUInt32();
            this.LibidOriginal       = Data.ReadBytes(this.SizeOfLibidOriginal);

            Validate();
        }
예제 #17
0
        public PROJECTCOOKIE(XlBinaryReader Data)
        {
            this.Id     = Data.ReadUInt16();
            this.Size   = Data.ReadUInt32();
            this.Cookie = Data.ReadUInt16();

            Validate();
        }
        public REFERENCECONTROL(PROJECTINFORMATION ProjectInformation, XlBinaryReader Data)
        {
            this.Id                  = Data.ReadUInt16();
            this.SizeTwiddled        = Data.ReadUInt32();
            this.SizeOfLibidTwiddled = Data.ReadUInt32();
            this.LibidTwiddled       = Data.ReadBytes(this.SizeOfLibidTwiddled);
            this.Reserved1           = Data.ReadUInt32();
            this.Reserved2           = Data.ReadUInt16();

            UInt16 peek = Data.PeekUInt16();

            if (peek == (UInt16)0x0016)
            {
                // REFERENCENAME record
                this.NameRecordExtended = new REFERENCENAME(ProjectInformation, Data);
            }

            this.Reserved3           = Data.ReadUInt16();
            this.SizeExtended        = Data.ReadUInt32();
            this.SizeOfLibidExtended = Data.ReadUInt32();
            this.LibidExtended       = Data.ReadBytes(this.SizeOfLibidExtended);
            this.Reserved4           = Data.ReadUInt32();
            this.Reserved5           = Data.ReadUInt16();
            this.OriginalTypeLib     = Data.ReadGuid();
            this.Cookie = Data.ReadUInt32();

            Validate();
        }
예제 #19
0
        public PROJECTNAME(PROJECTINFORMATION parent, XlBinaryReader Data)
        {
            this.parent = parent;

            this.Id          = Data.ReadUInt16();
            this.Size        = Data.ReadUInt32();
            this.ProjectName = Data.ReadBytes((int)this.Size);

            Validate();
        }
예제 #20
0
        public PROJECTMODULES(PROJECTINFORMATION ProjectInformation, XlBinaryReader Data)
        {
            this.Id    = Data.ReadUInt16();
            this.Size  = Data.ReadUInt32();
            this.Count = Data.ReadUInt16();
            this.ProjectCookieRecord = new PROJECTCOOKIE(Data);

            // Read Modules
            this.Modules = new MODULE[this.Count];
            for (int i = 0; i < this.Count; i++)
            {
                var module = new MODULE(ProjectInformation, Data);
                this.Modules[i] = module;
            }

            Validate();
        }