Esempio n. 1
0
        public void Read(NDRParser parser)
        {
            parser.BeginStructure(); // SHARE_ENUM_STRUCT
            Level = parser.ReadUInt32();
            parser.BeginStructure(); // SHARE_ENUM_UNION
            // 14.3.8 - For a non-encapsulated union, the discriminant is marshalled into the transmitted data stream twice.
            // once as the field or parameter, which is referenced by the switch_is construct, in the procedure argument list;
            // and once as the first part of the union representation.
            uint level = parser.ReadUInt32();

            switch (level)
            {
            case 0:
                ShareInfo0Container info0 = null;
                parser.ReadEmbeddedStructureFullPointer <ShareInfo0Container>(ref info0);
                Info = info0;
                break;

            case 1:
                ShareInfo1Container info1 = null;
                parser.ReadEmbeddedStructureFullPointer <ShareInfo1Container>(ref info1);
                Info = info1;
                break;

            case 2:
            case 501:
            case 502:
            case 503:
                throw new NotImplementedException();

            default:
                break;
            }
            parser.EndStructure(); // SHARE_ENUM_UNION
            parser.EndStructure(); // SHARE_ENUM_STRUCT
        }
    public LsarLookupNamesResponse(byte[] buffer)
    {
        NDRParser parser = new NDRParser(buffer);

        DomainList = new LsaReferencedDomainList();

        parser.BeginStructure();
        parser.ReadEmbeddedStructureFullPointer(ref DomainList);
        parser.EndStructure();

        TranslatedNames = new LsaTranslatedArray <LsaTranslatedSid>();
        parser.ReadStructure(TranslatedNames);

        Count = parser.ReadUInt32();
    }
Esempio n. 3
0
        public void Read(NDRParser parser)
        {
            parser.BeginStructure();

            tod_elapsedt  = parser.ReadUInt32();
            tod_msecs     = parser.ReadUInt32();
            tod_hours     = parser.ReadUInt32();
            tod_mins      = parser.ReadUInt32();
            tod_secs      = parser.ReadUInt32();
            tod_hunds     = parser.ReadUInt32();
            tod_timezone  = parser.ReadUInt32();
            tod_tinterval = parser.ReadUInt32();
            tod_day       = parser.ReadUInt32();
            tod_month     = parser.ReadUInt32();
            tod_year      = parser.ReadUInt32();
            tod_weekday   = parser.ReadUInt32();
            parser.EndStructure();
        }
        public void Read(NDRParser parser)
        {
            parser.BeginStructure();
            parser.ReadEmbeddedStructureFullPointer(ref DomainControllerName);
            parser.ReadEmbeddedStructureFullPointer(ref DomainControllerAddress);
            DomainControllerAddressType = parser.ReadUInt32();

            DomainGuid = new Guid(parser.ReadBytes(16));

            parser.ReadEmbeddedStructureFullPointer(ref DomainName);
            parser.ReadEmbeddedStructureFullPointer(ref DnsForestName);

            Flags = parser.ReadUInt32();
            parser.ReadEmbeddedStructureFullPointer(ref DcSiteName);
            parser.ReadEmbeddedStructureFullPointer(ref ClientSiteName);

            parser.EndStructure();
        }
Esempio n. 5
0
 public void Read(NDRParser parser)
 {
     parser.BeginStructure();
     sts0_start          = parser.ReadUInt32();
     sts0_fopens         = parser.ReadUInt32();
     sts0_devopens       = parser.ReadUInt32();
     sts0_jobsqueued     = parser.ReadUInt32();
     sts0_sopens         = parser.ReadUInt32();
     sts0_stimedout      = parser.ReadUInt32();
     sts0_serrorout      = parser.ReadUInt32();
     sts0_pwerrors       = parser.ReadUInt32();
     sts0_permerrors     = parser.ReadUInt32();
     sts0_syserrors      = parser.ReadUInt32();
     sts0_bytessent_low  = parser.ReadUInt32();
     sts0_bytessent_high = parser.ReadUInt32();
     sts0_bytesrcvd_low  = parser.ReadUInt32();
     sts0_bytesrcvd_high = parser.ReadUInt32();
     sts0_avresponse     = parser.ReadUInt32();
     sts0_reqbufneed     = parser.ReadUInt32();
     sts0_bigbufneed     = parser.ReadUInt32();
     parser.EndStructure();
 }
Esempio n. 6
0
        public void Read(NDRParser parser)
        {
            parser.BeginStructure();
            Level = parser.ReadUInt32();
            switch (Level)
            {
            case 100:
                WorkstationInfo100?info100 = null;
                parser.ReadEmbeddedStructureFullPointer(ref info100);
                Info = info100;
                break;

            case 101:
                WorkstationInfo101?info101 = null;
                parser.ReadEmbeddedStructureFullPointer(ref info101);
                Info = info101;
                break;

            default:
                throw new NotImplementedException();
            }
            parser.EndStructure();
        }
Esempio n. 7
0
        public void Read(NDRParser parser)
        {
            parser.BeginStructure(); // SHARE_INFO Union
            Level = parser.ReadUInt32();
            switch (Level)
            {
            case 100:
                ShareInfo0Entry info0 = null;
                parser.ReadEmbeddedStructureFullPointer <ShareInfo0Entry>(ref info0);
                Info = info0;
                break;

            case 101:
                ShareInfo1Entry info1 = null;
                parser.ReadEmbeddedStructureFullPointer <ShareInfo1Entry>(ref info1);
                Info = info1;
                break;

            default:
                throw new NotImplementedException();
            }
            parser.EndStructure(); // SHARE_INFO Union
        }
Esempio n. 8
0
        public void Read(NDRParser parser)
        {
            parser.BeginStructure(); // SERVER_INFO Union
            Level = parser.ReadUInt32();
            switch (Level)
            {
            case 100:
                ServerInfo100 info100 = null;
                parser.ReadEmbeddedStructureFullPointer <ServerInfo100>(ref info100);
                Info = info100;
                break;

            case 101:
                ServerInfo101 info101 = null;
                parser.ReadEmbeddedStructureFullPointer <ServerInfo101>(ref info101);
                Info = info101;
                break;

            default:
                throw new NotImplementedException();
            }
            ;
            parser.EndStructure(); // SERVER_INFO Union
        }
Esempio n. 9
0
 public void Read(NDRParser parser)
 {
     parser.BeginStructure();
     parser.ReadEmbeddedStructureFullPointer(ref NetName);
     parser.EndStructure();
 }