SharpCifs.Smb.SmbException.GetMessageByCode C# (CSharp) Method

GetMessageByCode() static private method

static private GetMessageByCode ( int errcode ) : string
errcode int
return string
        internal static string GetMessageByCode(int errcode)
		{
			if (errcode == 0)
			{
				return "NT_STATUS_SUCCESS";
			}
			if ((errcode & unchecked((int)(0xC0000000))) == unchecked((int)(0xC0000000)))
			{
				int min = 1;
				int max = NtStatus.NtStatusCodes.Length - 1;
				while (max >= min)
				{
					int mid = (min + max) / 2;
                    if (errcode > NtStatus.NtStatusCodes[mid])
					{
						min = mid + 1;
					}
					else
					{
                        if (errcode < NtStatus.NtStatusCodes[mid])
						{
							max = mid - 1;
						}
						else
						{
                            return NtStatus.NtStatusMessages[mid];
						}
					}
				}
			}
			else
			{
				int min = 0;
				int max = DosError.DosErrorCodes.Length - 1;
				while (max >= min)
				{
					int mid = (min + max) / 2;
                    if (errcode > DosError.DosErrorCodes[mid][0])
					{
						min = mid + 1;
					}
					else
					{
                        if (errcode < DosError.DosErrorCodes[mid][0])
						{
							max = mid - 1;
						}
						else
						{
                            return DosError.DosErrorMessages[mid];
						}
					}
				}
			}
			return "0x" + Hexdump.ToHexString(errcode, 8);
		}

Usage Example

Example #1
0
        public override string ToString()
        {
            string c;

            switch (Command)
            {
            case SmbComNegotiate:
            {
                c = "SMB_COM_NEGOTIATE";
                break;
            }

            case SmbComSessionSetupAndx:
            {
                c = "SMB_COM_SESSION_SETUP_ANDX";
                break;
            }

            case SmbComTreeConnectAndx:
            {
                c = "SMB_COM_TREE_CONNECT_ANDX";
                break;
            }

            case SmbComQueryInformation:
            {
                c = "SMB_COM_QUERY_INFORMATION";
                break;
            }

            case SmbComCheckDirectory:
            {
                c = "SMB_COM_CHECK_DIRECTORY";
                break;
            }

            case SmbComTransaction:
            {
                c = "SMB_COM_TRANSACTION";
                break;
            }

            case SmbComTransaction2:
            {
                c = "SMB_COM_TRANSACTION2";
                break;
            }

            case SmbComTransactionSecondary:
            {
                c = "SMB_COM_TRANSACTION_SECONDARY";
                break;
            }

            case SmbComFindClose2:
            {
                c = "SMB_COM_FIND_CLOSE2";
                break;
            }

            case SmbComTreeDisconnect:
            {
                c = "SMB_COM_TREE_DISCONNECT";
                break;
            }

            case SmbComLogoffAndx:
            {
                c = "SMB_COM_LOGOFF_ANDX";
                break;
            }

            case SmbComEcho:
            {
                c = "SMB_COM_ECHO";
                break;
            }

            case SmbComMove:
            {
                c = "SMB_COM_MOVE";
                break;
            }

            case SmbComRename:
            {
                c = "SMB_COM_RENAME";
                break;
            }

            case SmbComDelete:
            {
                c = "SMB_COM_DELETE";
                break;
            }

            case SmbComDeleteDirectory:
            {
                c = "SMB_COM_DELETE_DIRECTORY";
                break;
            }

            case SmbComNtCreateAndx:
            {
                c = "SMB_COM_NT_CREATE_ANDX";
                break;
            }

            case SmbComOpenAndx:
            {
                c = "SMB_COM_OPEN_ANDX";
                break;
            }

            case SmbComReadAndx:
            {
                c = "SMB_COM_READ_ANDX";
                break;
            }

            case SmbComClose:
            {
                c = "SMB_COM_CLOSE";
                break;
            }

            case SmbComWriteAndx:
            {
                c = "SMB_COM_WRITE_ANDX";
                break;
            }

            case SmbComCreateDirectory:
            {
                c = "SMB_COM_CREATE_DIRECTORY";
                break;
            }

            case SmbComNtTransact:
            {
                c = "SMB_COM_NT_TRANSACT";
                break;
            }

            case SmbComNtTransactSecondary:
            {
                c = "SMB_COM_NT_TRANSACT_SECONDARY";
                break;
            }

            default:
            {
                c = "UNKNOWN";
                break;
            }
            }
            string str = ErrorCode == 0 ? "0" : SmbException.GetMessageByCode(ErrorCode);

            return("command=" + c + ",received=" + Received + ",errorCode=" + str
                   + ",flags=0x" + Hexdump.ToHexString(Flags & 0xFF, 4) + ",flags2=0x"
                   + Hexdump.ToHexString(Flags2, 4) + ",signSeq=" + SignSeq + ",tid=" + Tid + ",pid="
                   + Pid + ",uid=" + Uid + ",mid=" + Mid + ",wordCount=" + WordCount + ",byteCount="
                   + ByteCount);
        }