Example #1
0
            /// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
            public override void Decode(NdrBuffer src)
            {
                src.Align(4);
                Count = src.Dec_ndr_long();
                int ridsp = src.Dec_ndr_long();

                if (ridsp != 0)
                {
                    src = src.Deferred;
                    int ridss = src.Dec_ndr_long();
                    int ridsi = src.Index;
                    src.Advance(8 * ridss);
                    if (Rids == null)
                    {
                        if (ridss < 0 || ridss > unchecked (0xFFFF))
                        {
                            throw new NdrException(NdrException.InvalidConformance);
                        }
                        Rids = new SamrRidWithAttribute[ridss];
                    }
                    src = src.Derive(ridsi);
                    for (int i = 0; i < ridss; i++)
                    {
                        if (Rids[i] == null)
                        {
                            Rids[i] = new SamrRidWithAttribute();
                        }
                        Rids[i].Decode(src);
                    }
                }
            }
Example #2
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Decode(NdrBuffer src)
			{
				src.Align(4);
				Count = src.Dec_ndr_long();
				int ridsp = src.Dec_ndr_long();
				if (ridsp != 0)
				{
					src = src.Deferred;
					int ridss = src.Dec_ndr_long();
					int ridsi = src.Index;
					src.Advance(8 * ridss);
					if (Rids == null)
					{
						if (ridss < 0 || ridss > unchecked(0xFFFF))
						{
							throw new NdrException(NdrException.InvalidConformance);
						}
						Rids = new SamrRidWithAttribute[ridss];
					}
					src = src.Derive(ridsi);
					for (int i = 0; i < ridss; i++)
					{
						if (Rids[i] == null)
						{
							Rids[i] = new SamrRidWithAttribute();
						}
						Rids[i].Decode(src);
					}
				}
			}