Enc_ndr_referent() 공개 메소드

public Enc_ndr_referent ( object obj, int type ) : void
obj object
type int
리턴 void
예제 #1
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Length);
				dst.Enc_ndr_referent(RootDirectory, 1);
				dst.Enc_ndr_referent(ObjectName, 1);
				dst.Enc_ndr_long(Attributes);
				dst.Enc_ndr_long(SecurityDescriptor);
				dst.Enc_ndr_referent(SecurityQualityOfService, 1);
				if (RootDirectory != null)
				{
					dst = dst.Deferred;
					RootDirectory.Encode(dst);
				}
				if (ObjectName != null)
				{
					dst = dst.Deferred;
					ObjectName.Encode(dst);
				}
				if (SecurityQualityOfService != null)
				{
					dst = dst.Deferred;
					SecurityQualityOfService.Encode(dst);
				}
			}
예제 #2
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_referent(EntryPath, 1);
				if (EntryPath != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(EntryPath);
				}
			}
예제 #3
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_referent(Netname, 1);
				if (Netname != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(Netname);
				}
			}
예제 #4
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Count);
				dst.Enc_ndr_referent(Array, 1);
				if (Array != null)
				{
					dst = dst.Deferred;
					int arrays = Count;
					dst.Enc_ndr_long(arrays);
					int arrayi = dst.Index;
					dst.Advance(4 * arrays);
					dst = dst.Derive(arrayi);
					for (int i = 0; i < arrays; i++)
					{
						Array[i].Encode(dst);
					}
				}
			}
예제 #5
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Count);
				dst.Enc_ndr_referent(S, 1);
				if (S != null)
				{
					dst = dst.Deferred;
					int ss = Count;
					dst.Enc_ndr_long(ss);
					int si = dst.Index;
					dst.Advance(4 * ss);
					dst = dst.Derive(si);
					for (int i = 0; i < ss; i++)
					{
						S[i].Encode(dst);
					}
				}
			}
예제 #6
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode_in(NdrBuffer dst)
			{
				dst.Enc_ndr_referent(Servername, 1);
				if (Servername != null)
				{
					dst.Enc_ndr_string(Servername);
				}
			}
예제 #7
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(NumSids);
				dst.Enc_ndr_referent(Sids, 1);
				if (Sids != null)
				{
					dst = dst.Deferred;
					int sidss = NumSids;
					dst.Enc_ndr_long(sidss);
					int sidsi = dst.Index;
					dst.Advance(4 * sidss);
					dst = dst.Derive(sidsi);
					for (int i = 0; i < sidss; i++)
					{
						Sids[i].Encode(dst);
					}
				}
			}
예제 #8
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_referent(Sid, 1);
				if (Sid != null)
				{
					dst = dst.Deferred;
					Sid.Encode(dst);
				}
			}
예제 #9
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_short(Name.Length);
				dst.Enc_ndr_short(Name.MaximumLength);
				dst.Enc_ndr_referent(Name.Buffer, 1);
				dst.Enc_ndr_short(DnsDomain.Length);
				dst.Enc_ndr_short(DnsDomain.MaximumLength);
				dst.Enc_ndr_referent(DnsDomain.Buffer, 1);
				dst.Enc_ndr_short(DnsForest.Length);
				dst.Enc_ndr_short(DnsForest.MaximumLength);
				dst.Enc_ndr_referent(DnsForest.Buffer, 1);
				dst.Enc_ndr_long(DomainGuid.TimeLow);
				dst.Enc_ndr_short(DomainGuid.TimeMid);
				dst.Enc_ndr_short(DomainGuid.TimeHiAndVersion);
				dst.Enc_ndr_small(DomainGuid.ClockSeqHiAndReserved);
				dst.Enc_ndr_small(DomainGuid.ClockSeqLow);
				int domainGuidNodes = 6;
				int domainGuidNodei = dst.Index;
				dst.Advance(1 * domainGuidNodes);
				dst.Enc_ndr_referent(Sid, 1);
				if (Name.Buffer != null)
				{
					dst = dst.Deferred;
					int nameBufferl = Name.Length / 2;
					int nameBuffers = Name.MaximumLength / 2;
					dst.Enc_ndr_long(nameBuffers);
					dst.Enc_ndr_long(0);
					dst.Enc_ndr_long(nameBufferl);
					int nameBufferi = dst.Index;
					dst.Advance(2 * nameBufferl);
					dst = dst.Derive(nameBufferi);
					for (int i = 0; i < nameBufferl; i++)
					{
						dst.Enc_ndr_short(Name.Buffer[i]);
					}
				}
				if (DnsDomain.Buffer != null)
				{
					dst = dst.Deferred;
					int dnsDomainBufferl = DnsDomain.Length / 2;
					int dnsDomainBuffers = DnsDomain.MaximumLength / 2;
					dst.Enc_ndr_long(dnsDomainBuffers);
					dst.Enc_ndr_long(0);
					dst.Enc_ndr_long(dnsDomainBufferl);
					int dnsDomainBufferi = dst.Index;
					dst.Advance(2 * dnsDomainBufferl);
					dst = dst.Derive(dnsDomainBufferi);
					for (int i = 0; i < dnsDomainBufferl; i++)
					{
						dst.Enc_ndr_short(DnsDomain.Buffer[i]);
					}
				}
				if (DnsForest.Buffer != null)
				{
					dst = dst.Deferred;
					int dnsForestBufferl = DnsForest.Length / 2;
					int dnsForestBuffers = DnsForest.MaximumLength / 2;
					dst.Enc_ndr_long(dnsForestBuffers);
					dst.Enc_ndr_long(0);
					dst.Enc_ndr_long(dnsForestBufferl);
					int dnsForestBufferi = dst.Index;
					dst.Advance(2 * dnsForestBufferl);
					dst = dst.Derive(dnsForestBufferi);
					for (int i = 0; i < dnsForestBufferl; i++)
					{
						dst.Enc_ndr_short(DnsForest.Buffer[i]);
					}
				}
				dst = dst.Derive(domainGuidNodei);
				for (int i1 = 0; i1 < domainGuidNodes; i1++)
				{
					dst.Enc_ndr_small(DomainGuid.Node[i1]);
				}
				if (Sid != null)
				{
					dst = dst.Deferred;
					Sid.Encode(dst);
				}
			}
예제 #10
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode_in(NdrBuffer dst)
			{
				dst.Enc_ndr_referent(SystemName, 1);
				if (SystemName != null)
				{
					dst.Enc_ndr_string(SystemName);
				}
				ObjectAttributes.Encode(dst);
				dst.Enc_ndr_long(DesiredAccess);
			}
예제 #11
0
            public override void Encode_in(NdrBuffer _dst)  {
                handle.Encode(_dst);
                _dst.Enc_ndr_long(num_service_args);
                _dst.Enc_ndr_referent(service_arg_vectors, 1);
                if (service_arg_vectors != null) {
                    int _service_arg_vectorss = num_service_args;
                    _dst.Enc_ndr_long(_service_arg_vectorss);
                    for (int _i = 0; _i < _service_arg_vectorss; _i++) {
                        _dst.Enc_ndr_referent(service_arg_vectors[_i], 1);
                    }

                    for (int _i = 0; _i < _service_arg_vectorss; _i++) {
                        if (service_arg_vectors[_i] != null) {
                            _dst.Enc_ndr_string(service_arg_vectors[_i]);

                        }
                    }
                }
            }
예제 #12
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_referent(Path, 1);
				dst.Enc_ndr_referent(Comment, 1);
				dst.Enc_ndr_long(State);
				dst.Enc_ndr_long(NumStores);
				dst.Enc_ndr_referent(Stores, 1);
				if (Path != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(Path);
				}
				if (Comment != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(Comment);
				}
				if (Stores != null)
				{
					dst = dst.Deferred;
					int storess = NumStores;
					dst.Enc_ndr_long(storess);
					int storesi = dst.Index;
					dst.Advance(12 * storess);
					dst = dst.Derive(storesi);
					for (int i = 0; i < storess; i++)
					{
						Stores[i].Encode(dst);
					}
				}
			}
예제 #13
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Count);
				dst.Enc_ndr_referent(Entries, 1);
				if (Entries != null)
				{
					dst = dst.Deferred;
					int entriess = Count;
					dst.Enc_ndr_long(entriess);
					int entriesi = dst.Index;
					dst.Advance(12 * entriess);
					dst = dst.Derive(entriesi);
					for (int i = 0; i < entriess; i++)
					{
						Entries[i].Encode(dst);
					}
				}
			}
예제 #14
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode_in(NdrBuffer dst)
			{
				dst.Enc_ndr_referent(SystemName, 1);
				if (SystemName != null)
				{
					dst.Enc_ndr_string(SystemName);
				}
				dst.Enc_ndr_long(Unknown);
				dst.Enc_ndr_long(AccessMask);
			}
예제 #15
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Count);
				dst.Enc_ndr_referent(Domains, 1);
				dst.Enc_ndr_long(MaxCount);
				if (Domains != null)
				{
					dst = dst.Deferred;
					int domainss = Count;
					dst.Enc_ndr_long(domainss);
					int domainsi = dst.Index;
					dst.Advance(12 * domainss);
					dst = dst.Derive(domainsi);
					for (int i = 0; i < domainss; i++)
					{
						Domains[i].Encode(dst);
					}
				}
			}
예제 #16
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode_in(NdrBuffer dst)
			{
				dst.Enc_ndr_referent(Servername, 1);
				if (Servername != null)
				{
					dst.Enc_ndr_string(Servername);
				}
				dst.Enc_ndr_long(Level);
				int descr = Level;
				dst.Enc_ndr_long(descr);
				dst.Enc_ndr_referent(Info, 1);
				if (Info != null)
				{
					dst = dst.Deferred;
					Info.Encode(dst);
				}
				dst.Enc_ndr_long(Prefmaxlen);
				dst.Enc_ndr_long(ResumeHandle);
			}
예제 #17
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Flags);
				dst.Enc_ndr_referent(DfsName, 1);
				if (DfsName != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(DfsName);
				}
			}
예제 #18
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_referent(Netname, 1);
				dst.Enc_ndr_long(Type);
				dst.Enc_ndr_referent(Remark, 1);
				dst.Enc_ndr_long(Permissions);
				dst.Enc_ndr_long(MaxUses);
				dst.Enc_ndr_long(CurrentUses);
				dst.Enc_ndr_referent(Path, 1);
				dst.Enc_ndr_referent(Password, 1);
				dst.Enc_ndr_long(SdSize);
				dst.Enc_ndr_referent(SecurityDescriptor, 1);
				if (Netname != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(Netname);
				}
				if (Remark != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(Remark);
				}
				if (Path != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(Path);
				}
				if (Password != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(Password);
				}
				if (SecurityDescriptor != null)
				{
					dst = dst.Deferred;
					int securityDescriptors = SdSize;
					dst.Enc_ndr_long(securityDescriptors);
					int securityDescriptori = dst.Index;
					dst.Advance(1 * securityDescriptors);
					dst = dst.Derive(securityDescriptori);
					for (int i = 0; i < securityDescriptors; i++)
					{
						dst.Enc_ndr_small(SecurityDescriptor[i]);
					}
				}
			}
예제 #19
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode_in(NdrBuffer dst)
			{
				dst.Enc_ndr_string(DfsName);
				dst.Enc_ndr_long(Level);
				dst.Enc_ndr_long(Prefmaxlen);
				dst.Enc_ndr_referent(Info, 1);
				if (Info != null)
				{
					Info.Encode(dst);
				}
				dst.Enc_ndr_referent(Totalentries, 1);
				if (Totalentries != null)
				{
					Totalentries.Encode(dst);
				}
			}
예제 #20
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Level);
				int descr = Level;
				dst.Enc_ndr_long(descr);
				dst.Enc_ndr_referent(E, 1);
				if (E != null)
				{
					dst = dst.Deferred;
					E.Encode(dst);
				}
			}
예제 #21
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_short(Length);
				dst.Enc_ndr_short(MaximumLength);
				dst.Enc_ndr_referent(Buffer, 1);
				if (Buffer != null)
				{
					dst = dst.Deferred;
					int bufferl = Length / 2;
					int buffers = MaximumLength / 2;
					dst.Enc_ndr_long(buffers);
					dst.Enc_ndr_long(0);
					dst.Enc_ndr_long(bufferl);
					int bufferi = dst.Index;
					dst.Advance(2 * bufferl);
					dst = dst.Derive(bufferi);
					for (int i = 0; i < bufferl; i++)
					{
						dst.Enc_ndr_short(Buffer[i]);
					}
				}
			}
예제 #22
0
            public override void Encode_in(NdrBuffer _dst)   {
                scmanager_handle.Encode(_dst);
                _dst.Enc_ndr_string(service_name);
                _dst.Enc_ndr_referent(display_name, 1);
                if (display_name != null) {
                    _dst.Enc_ndr_string(display_name);

                }
                _dst.Enc_ndr_long(access_mask);
                _dst.Enc_ndr_long(service_type);
                _dst.Enc_ndr_long(start_type);
                _dst.Enc_ndr_long(error_control);
                _dst.Enc_ndr_string(binary_path_name);
                _dst.Enc_ndr_referent(load_order_group, 1);
                if (load_order_group != null) {
                    _dst.Enc_ndr_string(load_order_group);

                }
                _dst.Enc_ndr_referent(lpdwTagId, 1);
                if (lpdwTagId != null) {
                    lpdwTagId.Encode(_dst);

                }
                _dst.Enc_ndr_referent(lpDependencies, 1);
                if (lpDependencies != null) {
                    int _lpDependenciess = dependency_size;
                    _dst.Enc_ndr_long(_lpDependenciess);
                    int _lpDependenciesi = _dst.Index;
                    _dst.Advance(1 * _lpDependenciess);

                    _dst = _dst.Derive(_lpDependenciesi);
                    for (int _i = 0; _i < _lpDependenciess; _i++) {
                        _dst.Enc_ndr_small(lpDependencies[_i]);
                    }
                }
                _dst.Enc_ndr_long(dependency_size);
                _dst.Enc_ndr_referent(lpServiceStartName, 1);
                if (lpServiceStartName != null) {
                    _dst.Enc_ndr_string(lpServiceStartName);

                }
                _dst.Enc_ndr_referent(password, 1);
                if (password != null) {
                    int _passwords = password_size;
                    _dst.Enc_ndr_long(_passwords);
                    int _passwordi = _dst.Index;
                    _dst.Advance(1 * _passwords);

                    _dst = _dst.Derive(_passwordi);
                    for (int _i = 0; _i < _passwords; _i++) {
                        _dst.Enc_ndr_small(password[_i]);
                    }
                }
                _dst.Enc_ndr_long(password_size);
            }
예제 #23
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Idx);
				dst.Enc_ndr_short(Name.Length);
				dst.Enc_ndr_short(Name.MaximumLength);
				dst.Enc_ndr_referent(Name.Buffer, 1);
				if (Name.Buffer != null)
				{
					dst = dst.Deferred;
					int nameBufferl = Name.Length / 2;
					int nameBuffers = Name.MaximumLength / 2;
					dst.Enc_ndr_long(nameBuffers);
					dst.Enc_ndr_long(0);
					dst.Enc_ndr_long(nameBufferl);
					int nameBufferi = dst.Index;
					dst.Advance(2 * nameBufferl);
					dst = dst.Derive(nameBufferi);
					for (int i = 0; i < nameBufferl; i++)
					{
						dst.Enc_ndr_short(Name.Buffer[i]);
					}
				}
			}
예제 #24
0
            public override void Encode_in(NdrBuffer _dst)  {
                _dst.Enc_ndr_referent(machine_name, 1);
                if (machine_name != null) {
                    _dst.Enc_ndr_string(machine_name);

                }
                _dst.Enc_ndr_referent(database_name, 1);
                if (database_name != null) {
                    _dst.Enc_ndr_string(database_name);

                }
                _dst.Enc_ndr_long(access_mask);
            }
예제 #25
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(Count);
				dst.Enc_ndr_referent(Rids, 1);
				if (Rids != null)
				{
					dst = dst.Deferred;
					int ridss = Count;
					dst.Enc_ndr_long(ridss);
					int ridsi = dst.Index;
					dst.Advance(8 * ridss);
					dst = dst.Derive(ridsi);
					for (int i = 0; i < ridss; i++)
					{
						Rids[i].Encode(dst);
					}
				}
			}
예제 #26
0
			/// <exception cref="SharpCifs.Dcerpc.Ndr.NdrException"></exception>
			public override void Encode(NdrBuffer dst)
			{
				dst.Align(4);
				dst.Enc_ndr_long(State);
				dst.Enc_ndr_referent(ServerName, 1);
				dst.Enc_ndr_referent(ShareName, 1);
				if (ServerName != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(ServerName);
				}
				if (ShareName != null)
				{
					dst = dst.Deferred;
					dst.Enc_ndr_string(ShareName);
				}
			}