Esempio n. 1
0
        public NTStatus Logoff()
        {
            if (!m_isConnected)
            {
                throw new InvalidOperationException("A login session must be successfully established before attempting logoff");
            }

            LogoffAndXRequest request = new LogoffAndXRequest();

            TrySendMessage(request);

            SMB1Message reply = WaitForMessage(CommandName.SMB_COM_LOGOFF_ANDX);

            if (reply != null)
            {
                m_isLoggedIn = (reply.Header.Status != NTStatus.STATUS_SUCCESS);
                return(reply.Header.Status);
            }
            return(NTStatus.STATUS_INVALID_SMB);
        }
Esempio n. 2
0
        public void Logoff()
        {
            if (!IsConnected)
            {
                throw new InvalidOperationException("A session must be successfully established before attempting logoff");
            }

            if (!m_isLoggedIn)
            {
                throw new InvalidOperationException("A login session must be successfully established before attempting logoff");
            }

            LogoffAndXRequest request = new LogoffAndXRequest();

            SendMessage(request);

            SMB1Message reply = WaitForMessage(CommandName.SMB_COM_LOGOFF_ANDX);

            if (reply.Header.Status == NTStatus.STATUS_SUCCESS)
            {
                m_isLoggedIn = false;
            }
            reply.IsSuccessElseThrow();
        }