SharpCifs.Smb.SmbTransport.CheckStatus C# (CSharp) Méthode

CheckStatus() private méthode

private CheckStatus ( ServerMessageBlock req, ServerMessageBlock resp ) : void
req ServerMessageBlock
resp ServerMessageBlock
Résultat void
        internal virtual void CheckStatus(ServerMessageBlock req, ServerMessageBlock resp
            )
        {
            resp.ErrorCode = SmbException.GetStatusByCode(resp.ErrorCode);
            switch (resp.ErrorCode)
            {
                case NtStatus.NtStatusOk:
                    {
                        break;
                    }

                case NtStatus.NtStatusAccessDenied:
                case NtStatus.NtStatusWrongPassword:
                case NtStatus.NtStatusLogonFailure:
                case NtStatus.NtStatusAccountRestriction:
                case NtStatus.NtStatusInvalidLogonHours:
                case NtStatus.NtStatusInvalidWorkstation:
                case NtStatus.NtStatusPasswordExpired:
                case NtStatus.NtStatusAccountDisabled:
                case NtStatus.NtStatusAccountLockedOut:
                case NtStatus.NtStatusTrustedDomainFailure:
                    {
                        throw new SmbAuthException(resp.ErrorCode);
                    }

                case NtStatus.NtStatusPathNotCovered:
                    {
                        if (req.Auth == null)
                        {
                            throw new SmbException(resp.ErrorCode, null);
                        }
                        DfsReferral dr = GetDfsReferrals(req.Auth, req.Path, 1);
                        if (dr == null)
                        {
                            throw new SmbException(resp.ErrorCode, null);
                        }
                        SmbFile.Dfs.Insert(req.Path, dr);
                        throw dr;
                    }

                case unchecked((int)(0x80000005)):
                    {
                        break;
                    }

                case NtStatus.NtStatusMoreProcessingRequired:
                    {
                        break;
                    }

                default:
                    {
                        throw new SmbException(resp.ErrorCode, null);
                    }
            }
            if (resp.VerifyFailed)
            {
                throw new SmbException("Signature verification failed.");
            }
        }