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

                if (arrayp != 0)
                {
                    src = src.Deferred;
                    int arrays = src.Dec_ndr_long();
                    int arrayi = src.Index;
                    src.Advance(4 * arrays);
                    if (Array == null)
                    {
                        if (arrays < 0 || arrays > unchecked (0xFFFF))
                        {
                            throw new NdrException(NdrException.InvalidConformance);
                        }
                        Array = new ShareInfo0[arrays];
                    }
                    src = src.Derive(arrayi);
                    for (int i = 0; i < arrays; i++)
                    {
                        if (Array[i] == null)
                        {
                            Array[i] = new ShareInfo0();
                        }
                        Array[i].Decode(src);
                    }
                }
            }
示例#2
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Decode(NdrBuffer src)
			{
				src.Align(4);
				Count = src.Dec_ndr_long();
				int arrayp = src.Dec_ndr_long();
				if (arrayp != 0)
				{
					src = src.Deferred;
					int arrays = src.Dec_ndr_long();
					int arrayi = src.Index;
					src.Advance(4 * arrays);
					if (Array == null)
					{
						if (arrays < 0 || arrays > unchecked(0xFFFF))
						{
							throw new NdrException(NdrException.InvalidConformance);
						}
						Array = new ShareInfo0[arrays];
					}
					src = src.Derive(arrayi);
					for (int i = 0; i < arrays; i++)
					{
						if (Array[i] == null)
						{
							Array[i] = new ShareInfo0();
						}
						Array[i].Decode(src);
					}
				}
			}