Send() private method

private Send ( ServerMessageBlock request, ServerMessageBlock response ) : void
request ServerMessageBlock
response ServerMessageBlock
return void
Ejemplo n.º 1
0
 /// <exception cref="SharpCifs.Smb.SmbException"></exception>
 internal void Send(ServerMessageBlock request, ServerMessageBlock response)
 {
     lock (Transport())
     {
         if (response != null)
         {
             response.Received = false;
         }
         Expiration = Runtime.CurrentTimeMillis() + SmbConstants.SoTimeout;
         SessionSetup(request, response);
         if (response != null && response.Received)
         {
             return;
         }
         if (request is SmbComTreeConnectAndX)
         {
             SmbComTreeConnectAndX tcax = (SmbComTreeConnectAndX)request;
             if (NetbiosName != null && tcax.path.EndsWith("\\IPC$"))
             {
                 tcax.path = "\\\\" + NetbiosName + "\\IPC$";
             }
         }
         request.Uid  = Uid;
         request.Auth = Auth;
         try
         {
             transport.Send(request, response);
         }
         catch (SmbException se)
         {
             if (request is SmbComTreeConnectAndX)
             {
                 Logoff(true);
             }
             request.Digest = null;
             throw;
         }
     }
 }