SharpCifs.Smb.SmbSession.GetSmbTree C# (CSharp) Method

GetSmbTree() private method

private GetSmbTree ( string share, string service ) : SmbTree
share string
service string
return SmbTree
		internal SmbTree GetSmbTree(string share, string service)
		{
			lock (this)
			{
				SmbTree t;
				if (share == null)
				{
					share = "IPC$";
				}
				/*for (IEnumeration e = trees.GetEnumerator(); e.MoveNext(); )
				{
					t = (SmbTree)e.Current;
					if (t.Matches(share, service))
					{
						return t;
					}
				}*/
			    foreach (var e in Trees)
			    {
                    t = (SmbTree)e;
                    if (t.Matches(share, service))
                    {
                        return t;
                    }
			    }

				t = new SmbTree(this, share, service);
				Trees.Add(t);
				return t;
			}
		}

Usage Example

Example #1
0
        /// <exception cref="SharpCifs.Smb.SmbException"></exception>
        private static NtlmChallenge Interrogate(NbtAddress addr)
        {
            UniAddress   dc    = new UniAddress(addr);
            SmbTransport trans = SmbTransport.GetSmbTransport(dc, 0);

            if (Username == null)
            {
                trans.Connect();
                if (SmbTransport.LogStatic.Level >= 3)
                {
                    SmbTransport.LogStatic.WriteLine("Default credentials (jcifs.smb.client.username/password)"
                                                     + " not specified. SMB signing may not work propertly." + "  Skipping DC interrogation."
                                                     );
                }
            }
            else
            {
                SmbSession ssn = trans.GetSmbSession(NtlmPasswordAuthentication.Default
                                                     );
                ssn.GetSmbTree(LogonShare, null).TreeConnect(null, null);
            }
            return(new NtlmChallenge(trans.Server.EncryptionKey, dc));
        }